This is the course project for COMS4115 Programming Language & Translators instructed by Prof. Ronghui Gu in Spring 2022.
The repository consists of:
- Scanner: scanner.mll
- Parser: parser.mly
- Abstract Syntax Tree: ast.ml
- Semantically Checked Ast: sast.ml
- Semantic Checker: semant.ml
- Intermediate Representation (IR) Generation: irgen.ml
- External Library: lib.c, chezlib.c
- Testing Suite: Makefile, test.py, /test folder
These files complete the lexical analysis, syntax analysis, semantic check, and IR generation of Cheez programming language.