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

Simon Polstra 70b066d1b2 Merge branch 'master' of ssh://csa.science.uva.nl:11111/teaching/bachelor/civicaml il y a 10 ans
bin 7d98e17a97 typos il y a 10 ans
civic @ 418598a804 e911b0971d Initialised vars in testcase. il y a 11 ans
doc ac383a4b31 Updated milestones document il y a 11 ans
manual_test ad7dc96aa6 Deleted old test suite il y a 12 ans
phases 5451737e00 Add check for void return in typed functions il y a 10 ans
test 152a367a82 Merge branch 'earlyreturn' il y a 10 ans
.gitignore 17afcccdac Assembler docs are now copied from toolchain submodule il y a 11 ans
.gitmodules 098b5ebc19 Added assembler and VM in submodule il y a 11 ans
Makefile b519c5e7c2 TESTSUITE_README is now placed next to test dir in testsuite tarfile il y a 11 ans
OCamlMakefile ee11dce399 Started on implementing CiviC compiler il y a 12 ans
README.md dcca84a05b Changed binary name to civcc il y a 12 ans
TESTSUITE_README 31687cab6e Added tabs warning to testsuite README il y a 11 ans
civcc 4b9d4222bc Added toolchain target and restructured binary paths a bit il y a 11 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 06c84c141b Added check for multiple input files il y a 11 ans
main.mli 231793c268 Docs fix il y a 11 ans
parser.mly 106c879fc5 Implement rest of early returns + add some tests il y a 10 ans
public_tests.txt 0e29ad56fd Added testcases for comments il y a 11 ans
stringify.ml 90a6500831 Started implementing early returns (todo: typecheck, assemble) il y a 10 ans
stringify.mli 625095f367 Documented all global modules (phases still need to be done) il y a 12 ans
types.mli 90a6500831 Started implementing early returns (todo: typecheck, assemble) il y a 10 ans
util.ml 106c879fc5 Implement rest of early returns + add some tests il y a 10 ans
util.mli 106c879fc5 Implement rest of early returns + add some tests il y a 10 ans

README.md

CiviCaml

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

Documentation

make htdoc generates HTML documentation, which is accessible through doc/civcc/html/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)