Week beginning
|
Lectures
|
Project
|
Homeworks
|
P/S/O
|
January |
10
|
Introduction (1) |
|
|
|
|
17
|
Lexical analysis (2)
|
P1. Scanner (2)
|
|
Setting up your account
|
|
24
|
Parsing (3) |
|
|
|
|
31
|
Parsing (3); Abstract syntax (4) |
P2. Parser (3,4) |
|
|
February |
7
|
Semantic analysis (5) |
|
|
|
|
14
|
Activation records
(6) |
|
|
|
|
21
|
Translation to intermediate code (7) |
P3a. Building AST(4) |
|
|
|
28
|
Basic blocks and traces (8)
|
|
|
|
March |
7
|
Instruction selection (9)
|
|
|
|
|
14
|
No class: Spring break
|
|
|
|
|
21
|
Liveness analysis (10) |
P3b.Type checking |
|
|
|
28
|
Register allocation (11) |
|
|
|
April |
4
|
Putting it all together (12)
|
|
|
|
|
11
|
Garbage collection (Chap. 13, in part) |
|
|
|
|
18
|
Object-oriented languages (Chap. 14, in part)
|
|
|
|
|
25
|
Polymorphic types (Chap 16, in part); Review
|
|
|
|
May
|
2
|
Final Exam
|
|
|
|