Basics

- SDD for setting types in Symbol Table
- Dependency Graph and Annotated Syntax Tree
- Syntax Tree Translation for Type Checking (getType(id.entry))
- Syntax Tree Translation for Value checking
- SDD to create AST
- AST For IFELSE and WHILE
- 3 Address Code - Quadruples, Triples and Indirect Triples
- Directed Acyclic Graph
- Generation of 3 address code for expressions
- Generation of 3 address code for Boolean (B -> E1 + E2, B -> True, B -> False)
- Generation of 3 address code for IFELSE and IF
- Translation of Boolean Expressions (Short Circuit)
- Generation of 3 address code for WHILE
- SDD for Types and Relative addresses
- SDD for offset
- SDD and Dependency for array TYPE and WIDTH
- SDD for Array References
- Code Optimisation Techniques
- Control Flow Graph
- OUT, IN, Gen, Kill
- DAG for Local Optimisation
-
Run Time Environments - Memory Layout, Activation Record, placeholders etc.
-
FIRST AND FOLLOW
- LL (1)
- LR (0)
- SLR (1)
- CLR
- LALR