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

Taddeus Kroes cd39b017b6 Cleanup 12 년 전
bin32 ee11dce399 Started on implementing CiviC compiler 12 년 전
doc 3d3c4d5421 Added empty assmebly phase 12 년 전
phases 7462e88b3d Added warning and constant propagation check for division by zero 12 년 전
test 9406a1de2f Trailing whitespace fix 12 년 전
.gitignore 2126ae7cee Removed preprocessor from parser, improved some error messages, moved some functions to common files 12 년 전
Makefile f979c1faf4 Changed the way array types are represented, and cleaned up a lot of code in the process 12 년 전
OCamlMakefile ee11dce399 Started on implementing CiviC compiler 12 년 전
README.md ae20d87ad4 Re-introduced DimDec node to get array dimension declarations to work properly, and rewrote a bunch of code to make it actually work... 12 년 전
lexer.mll cd39b017b6 Cleanup 12 년 전
main.ml 9e5ee5acf8 Phase titles are now only printed when verbosity >= 2 12 년 전
parser.mly f979c1faf4 Changed the way array types are represented, and cleaned up a lot of code in the process 12 년 전
run 45ddddee63 Added run script for quick testing 12 년 전
stringify.ml f979c1faf4 Changed the way array types are represented, and cleaned up a lot of code in the process 12 년 전
stringify.mli 21fc065c8f Changed constant node types, added VarDecs|LocalFuns wrappers, implemented first steps of assembler 12 년 전
types.ml f979c1faf4 Changed the way array types are represented, and cleaned up a lot of code in the process 12 년 전
util.ml 7462e88b3d Added warning and constant propagation check for division by zero 12 년 전
util.mli 7462e88b3d Added warning and constant propagation check for division by zero 12 년 전

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.
  • Create automated testsuite runner.
  • Assembly printer should print optimized instructions.