Sysyc is a compiler for the SysY language. It utilizes QBE IR as its intermediate representation.
See CONTRIBUTING.md.
-
Phase One: Compiler Frontend
- Syntax tree data structure
- Intermediate code data structure
- Intermediate code construction interface
- Lexical analysis + Syntax analysis
- Intermediate code print
- Symbol table + Type system
- Semantic analysis
-
Phase Two: Compiler Backend
- Register allocation algorithm
- Target code generation
-
Phase Three: Compiler Optimization
- SSA construction and elimination
- Other optimization algorithms
- Peephole Optimization
- Constant Folding and Constant Propagation
- Function Inlining
- GCM
- GVN
- Loop Rotation
- CFG Simplifying
- Deadcode Elimination
- Strength Reduction
- Tail Recursion Optimization