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

Taddeus Kroes 669f2c21f3 Added a rudimentary form of constant propagation for reducing for-loop complexity, improved flatten_blocks 12 лет назад
bin32 ee11dce399 Started on implementing CiviC compiler 12 лет назад
doc ee11dce399 Started on implementing CiviC compiler 12 лет назад
phases 669f2c21f3 Added a rudimentary form of constant propagation for reducing for-loop complexity, improved flatten_blocks 12 лет назад
test 669f2c21f3 Added a rudimentary form of constant propagation for reducing for-loop complexity, improved flatten_blocks 12 лет назад
.gitignore 2126ae7cee Removed preprocessor from parser, improved some error messages, moved some functions to common files 12 лет назад
Makefile 669f2c21f3 Added a rudimentary form of constant propagation for reducing for-loop complexity, improved flatten_blocks 12 лет назад
OCamlMakefile ee11dce399 Started on implementing CiviC compiler 12 лет назад
README.md 8ff21e8694 Turns out a TODO list issue was already fixed implicitly 12 лет назад
ast.ml 662cca4a28 Moved args to ast.ml to avoid circular dependency 12 лет назад
lexer.mll 543db4149b Fixed position tracking when C preprocessor is enabled 12 лет назад
main.ml 669f2c21f3 Added a rudimentary form of constant propagation for reducing for-loop complexity, improved flatten_blocks 12 лет назад
parser.mly bd304ed3a4 Implemented external variables using getters and setters, some general changes & fixes in other phases for compliance 12 лет назад
stringify.ml bd304ed3a4 Implemented external variables using getters and setters, some general changes & fixes in other phases for compliance 12 лет назад
stringify.mli 96ecd75efb Implemented most of typechecking, some bugfixes in other phases 12 лет назад
util.ml 669f2c21f3 Added a rudimentary form of constant propagation for reducing for-loop complexity, improved flatten_blocks 12 лет назад
util.mli 669f2c21f3 Added a rudimentary form of constant propagation for reducing for-loop complexity, improved flatten_blocks 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.