Compiler project for NTUA compilers course.
The language scpecification can be found here in greek.
Llama is a functional programing language, inspired by Caml, featuring:
- Type Inference
- Higher order functions
- User defined data types
- Imperative features: destructive arrays, mutable variables, while and for loops
Dependencies:
- OCaml version 4.0.0 or newer
- OCamlgraph or via OPAM here
- CamlP5 or via OPAM here
To compile:
$ make .depend
$ make
Alternatively, you can generate a native executable using ocamlopt:
$ make .depend
$ make Llama.opt
Optionaly, you can create the documentation files:
$ make doc
To run:
$ ./Llama file.lla
or
$ ./Llama.opt file.lla
$ dosbox
$ ml.exe file.asm llama.lib
You can type
$ ./llama --help
to see the list of available options.
Have fun!!