Typing rules are given in the project assignment.
It is important to read and understand the abstract syntax of mini-C, that is files Ptree.mli (parsed trees) and Ttree.mli (typed trees).
A Makefile is provided, which calls dune. The executable is minic.exe. It expects a file with extension .c on the command line, possibly with options --debug, --parse-only, and --type-only.
If a lexical or syntax error is detected, it is reported and the program exits with code 1.
If the parsing is successful and option --parse-only is on the command line, then the program exits with code 0.
If a type error is detected, it is signaled using exception Error defined in typing.ml, with a suitable message string. This exception is caught in main.ml and displayed as
error: ... your message here ...and the program exits with code 1.
int main() { return 0; }This means you only have to consider integer literals in expressions and return statements.
In the provided tarball, the command make compiles minic.exe and then runs it on file test.c (also provided). So you simply have to modify test.c as you make progress.
syntax/bad/ rejected at parsing syntax/good/ accepted at parsing typing/bad/ rejected at type checking typing/good/ accepted at type checking exec-fail/ compiled successfully, with a failed execution exec/ compiled successfully, and run successfully with the expected output (file .out)
> ./run -2 my/path/to/minic.exe Test de mon/chemin/vers/minic.exe Partie 2 mauvais ........................... bons ................................................................. Typage : 92/92 : 100%