This project is a small compiler for MiniC based on LLVM and contains 7 parts: Revise grammar and build parser, Build AST Tree, Symbol tables and semantic checking, LLVM IR generation, IR optimization promoting alloc instructions, Optimization Competition.
Each folder complete one part of the whole project and the a6 folder contains all parts of the project.