COOL Compiler using ANTLR
The code for various phases in a COOL (Classroom-object-oriented-language) program compilation, namely, lexing (checking for syntax errors as well as capturing names for objects to be passed for the next phase), parsing (building the Abstract-Syntax-Tree), semantic-analysis (checking for code sanity) and the codegen phase (generating the LLVM-IR code for the input program). The complete code is written in JAVA using ANTLR APIs.