Compiler for Decaf Programming Language. Developed as a course project for Compilers course. Decaf is a strongly-typed, object-oriented language with support for inheritance and encapsulation. By design, it has many similarities with C/C++/Java.
Developed a compiler front-end for Decaf(a subset of C++) to LLVM IR.
Wrote the lexical and syntax analyzer (parser), Abstract Syntax Tree generator for the parsed program.
Implemented the LLVM IR generator to obtain LLVM IR for the source program.