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

Taddeus Kroes ce994bbdcd Added trailing zero after rounded floating point number stringification %!s(int64=12) %!d(string=hai) anos
bin32 ee11dce399 Started on implementing CiviC compiler %!s(int64=12) %!d(string=hai) anos
doc ee11dce399 Started on implementing CiviC compiler %!s(int64=12) %!d(string=hai) anos
phases 9e6dbd6680 Implemented boolean operations %!s(int64=12) %!d(string=hai) anos
test 88a4200db8 Added template for bool_op phase %!s(int64=12) %!d(string=hai) anos
.gitignore 2126ae7cee Removed preprocessor from parser, improved some error messages, moved some functions to common files %!s(int64=12) %!d(string=hai) anos
Makefile 180700fd3e Moved command-line arguments to global record %!s(int64=12) %!d(string=hai) anos
OCamlMakefile ee11dce399 Started on implementing CiviC compiler %!s(int64=12) %!d(string=hai) anos
README.md 8ff21e8694 Turns out a TODO list issue was already fixed implicitly %!s(int64=12) %!d(string=hai) anos
ast.ml 662cca4a28 Moved args to ast.ml to avoid circular dependency %!s(int64=12) %!d(string=hai) anos
lexer.mll 543db4149b Fixed position tracking when C preprocessor is enabled %!s(int64=12) %!d(string=hai) anos
main.ml 180700fd3e Moved command-line arguments to global record %!s(int64=12) %!d(string=hai) anos
parser.mly 1cdc10625d Implemented array dimension reduction, generalized Array type, more bugfixes in other phases %!s(int64=12) %!d(string=hai) anos
stringify.ml ce994bbdcd Added trailing zero after rounded floating point number stringification %!s(int64=12) %!d(string=hai) anos
stringify.mli 96ecd75efb Implemented most of typechecking, some bugfixes in other phases %!s(int64=12) %!d(string=hai) anos
util.ml 662cca4a28 Moved args to ast.ml to avoid circular dependency %!s(int64=12) %!d(string=hai) anos
util.mli 662cca4a28 Moved args to ast.ml to avoid circular dependency %!s(int64=12) %!d(string=hai) anos

README.md

CiviCaml

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

Issues & TODO

  • Keep file content in buffer to prevent error messages from crashing when reading from stdin.