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

Taddeus Kroes 93c0a8b5cc Added default error message for empty locations %!s(int64=12) %!d(string=hai) anos
bin32 ee11dce399 Started on implementing CiviC compiler %!s(int64=12) %!d(string=hai) anos
doc 3d3c4d5421 Added empty assmebly phase %!s(int64=12) %!d(string=hai) anos
phases fc5a38d30a Re-wrote main file: added a centralized list of phases and generalized logging format + added -upto option %!s(int64=12) %!d(string=hai) anos
test 2398b7395b Fixed iinc_1/idec_1 replacement %!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 d184138ad0 Renamed "depth analysis" to the more accurate "index analysis" %!s(int64=12) %!d(string=hai) anos
OCamlMakefile ee11dce399 Started on implementing CiviC compiler %!s(int64=12) %!d(string=hai) anos
README.md 541308d664 Added item to TODO list %!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 93c0a8b5cc Added default error message for empty locations %!s(int64=12) %!d(string=hai) anos
parser.mly 21fc065c8f Changed constant node types, added VarDecs|LocalFuns wrappers, implemented first steps of assembler %!s(int64=12) %!d(string=hai) anos
run 45ddddee63 Added run script for quick testing %!s(int64=12) %!d(string=hai) anos
stringify.ml fc5a38d30a Re-wrote main file: added a centralized list of phases and generalized logging format + added -upto option %!s(int64=12) %!d(string=hai) anos
stringify.mli 21fc065c8f Changed constant node types, added VarDecs|LocalFuns wrappers, implemented first steps of assembler %!s(int64=12) %!d(string=hai) anos
types.ml fc5a38d30a Re-wrote main file: added a centralized list of phases and generalized logging format + added -upto option %!s(int64=12) %!d(string=hai) anos
util.ml 5ef0f0dfa9 Reduced verbose level for fancy errors to 1 %!s(int64=12) %!d(string=hai) anos
util.mli fc5a38d30a Re-wrote main file: added a centralized list of phases and generalized logging format + added -upto option %!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.
  • Documentation for each phase, in ocamldoc format.