Tiger Compiler

2. Lexical Analysis (Tokens Regular Expression, DFA)

3. Parsing (Grammar, LR Parsing)

4. Abstract Syntax (Parser produce Abstract Parse Tree. Expression, Declaration, operation, type)

5. Semantic Analysis (Type Environment (Type declartion), Variable/Function Environment (var, func declaration), type checking)

6. Activation Records (Abstract Frame and Fucntion Label)

7. Intermediate Representation (Trees of nodes which abstract the CPU instructions)

8. Instruction Selection (Tile the tree pattern into MIPS Assembly instrucitons)

9. Liveness Analysis (Take the Assembly, at each point find the temp registers that are live, interference)

10. Regsiter Allocation (resolve the interfence graph, replace the temp register in Assembly with real registers)