| August | 25 |
Introduction (1) | 0. Interpreter (1) | Setting up your account | |
| September |
1 |
Lexical analysis (2) |
1. Scanner (2) | JavaCC |
|
| 8 |
Lexical analysis (2) |
2. Parser (3,4) | MiniJava scanning | ||
| 15 |
Parsing (3) | MiniJava syntax | |||
| 22 |
Parsing (3) | MiniJava trees |
|||
| 29 |
Abstract syntax (4) | 3. Semantics (5) | |||
| October | 6 |
Semantic analysis (5) |
1. Midterm Review | MiniJava type-checking |
|
| 13 |
No class Tuesday (October Break) No PSOs Tuesday (October Break) MIDTERM: Oct 15, 7-9PM, WTHR 200 Activation records (6) |
||||
| 20 |
Translation to intermediate code (7) | MIPS frames |
|||
| 27 |
Basic blocks and traces (8) | 4. Translation (7) | |||
| November | 3 |
Instruction selection (9) | Intermediate code | ||
| 10 |
Liveness analysis (10) | ||||
| 17 |
Register allocation (11) |
5. Instruction selection (9) |
MIPS instructions |
||
| 24 |
No class or PSO's Wednesday, Thursday, or Friday (Break) Putting it all together (12) |
Instruction selection |
|||
| December | 1 |
Advanced topics | |||
| 8 |
Course review | ||||
| 15 |
Exam week | ||||