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

Taddeus Kroes 85108f6d9b Added new node type for array assignment %!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 12da98abeb Implemented array dims expansion correctly (probably), more bugfixes %!s(int64=12) %!d(string=hai) anos
test 12da98abeb Implemented array dims expansion correctly (probably), more bugfixes %!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 12da98abeb Implemented array dims expansion correctly (probably), more bugfixes %!s(int64=12) %!d(string=hai) anos
OCamlMakefile ee11dce399 Started on implementing CiviC compiler %!s(int64=12) %!d(string=hai) anos
README.md 12da98abeb Implemented array dims expansion correctly (probably), more bugfixes %!s(int64=12) %!d(string=hai) anos
ast.ml 85108f6d9b Added new node type for array assignment %!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 12da98abeb Implemented array dims expansion correctly (probably), more bugfixes %!s(int64=12) %!d(string=hai) anos
parser.mly 85108f6d9b Added new node type for array assignment %!s(int64=12) %!d(string=hai) anos
stringify.ml 85108f6d9b Added new node type for array assignment %!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 85108f6d9b Added new node type for array assignment %!s(int64=12) %!d(string=hai) anos
util.mli 12da98abeb Implemented array dims expansion correctly (probably), more bugfixes %!s(int64=12) %!d(string=hai) anos

README.md

CiviCaml

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

Issues & TODO

  • Check for illegal assigments of loop counter in for-loop body.
  • Array initializations (scalar and array constant).