cassanof / stiletto

Compiler written in OCaml for a python-like (mostly) functional language

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Stiletto - STructs ImpLEmenTed Towards Object-orientation

A Compiler written in ML for a python-like (mostly) functional language.

Written in collaboration with @parsons90 for Compiler Design at Northeastern University

Non-ubiquitous Features:

  • x84_64 target architecture
  • Untyped tuples
  • Tuple destructuring
  • First-class mutually recursive lambda functions
  • Basic I/O (print(val) and input())
  • Cheney's semi-space garbage collection
  • Chromatic Register Allocator
  • Struct definitions
  • Type-inference on structs
  • First-class mutually recursive methods
  • Imperative features:
    • Sequences
    • Settings values (of tuples and structs)
    • Nil value

About

Compiler written in OCaml for a python-like (mostly) functional language


Languages

Language:OCaml 94.5%Language:C 5.1%Language:Makefile 0.4%Language:Shell 0.0%