OCaml implementation of the CiviC compiler for Compiler Construction course at UvA

Taddeus Kroes 2c7c770755 Clarified example code in interface file il y a 12 ans
bin32 ee11dce399 Started on implementing CiviC compiler il y a 12 ans
doc 3d3c4d5421 Added empty assmebly phase il y a 12 ans
manual_test ad7dc96aa6 Deleted old test suite il y a 12 ans
phases 2c7c770755 Clarified example code in interface file il y a 12 ans
test f074552d42 Array constant initialisations now require a strict nesting level equal to the number of dimensions; simplified some related code il y a 12 ans
.gitignore f8a14e0111 Added testsuite README and mae target for quick redistribution of testing framework il y a 12 ans
Makefile f8a14e0111 Added testsuite README and mae target for quick redistribution of testing framework il y a 12 ans
OCamlMakefile ee11dce399 Started on implementing CiviC compiler il y a 12 ans
README.md 9b5928281d Removed fixed issue from TODO list il y a 12 ans
TESTSUITE_README f8a14e0111 Added testsuite README and mae target for quick redistribution of testing framework il y a 12 ans
globals.ml 3403c4a3fc Formatted all source code to 2 spaces as tab, and some more prettifications il y a 12 ans
globals.mli bdb928d7bc made comment into link il y a 12 ans
lexer.mll a574d8ace5 IntVal now takes a 32-bit int as argument (not 31 or 63), and integer bound check is moved to lexer il y a 12 ans
main.ml 885fa4bc95 Changed the way errors are represented + context analysis now prints multiple errors before exiting il y a 12 ans
main.mli 95f70e3e94 Comment cleanup il y a 12 ans
parser.mly a574d8ace5 IntVal now takes a 32-bit int as argument (not 31 or 63), and integer bound check is moved to lexer il y a 12 ans
run df77f208ef Run script now does not continue when compiling fails il y a 12 ans
stringify.ml a574d8ace5 IntVal now takes a 32-bit int as argument (not 31 or 63), and integer bound check is moved to lexer il y a 12 ans
stringify.mli 625095f367 Documented all global modules (phases still need to be done) il y a 12 ans
types.mli a574d8ace5 IntVal now takes a 32-bit int as argument (not 31 or 63), and integer bound check is moved to lexer il y a 12 ans
util.ml f074552d42 Array constant initialisations now require a strict nesting level equal to the number of dimensions; simplified some related code il y a 12 ans
util.mli 885fa4bc95 Changed the way errors are represented + context analysis now prints multiple errors before exiting il y a 12 ans

README.md

CiviCaml

CiviCaml is a compiler for the CiviC language, written in OCaml.

Documentation

make doc generates HTML documentation, which is accessible through doc/civicc.index.html.

The coding style adheres to http://wiki.xen.org/wiki/OCaml_Best_Practices_for_Developers#Use_of_open.

The Makefile uses [OCamlMakefile(https://bitbucket.org/mmottl/ocaml-makefile/).

Issues & TODO

  • Replace VarDec with Var_dec etc? (to adhere to the coding style)