| Date | Topic | Reading | HW Out | HW Due | |
|---|---|---|---|---|---|
| 1 | Wed, Sep 3 | Introduction | Ch. 1 | ||
| 2 | Mon, Sep 8 | Syntax-Directed Translation | Ch. 2 | HW 1 | |
| 3 | Wed, Sep 10 | Regexp and Lexers | Ch. 3.1-3.5 | ||
| 4 | Mon, Sep 15 | Finite Automata | Ch. 3.6-3.9 | ||
| 5 | Wed, Sep 17 | Grammars: Parsing | Ch. 4.1-4.3 | ||
| 6 | Mon, Sep 22 | LL parsers | Ch. 4.4 | HW 1 | |
| 7 | Wed, Sep 24 | LR parsers | Ch, 4.5,4.6 | ||
| 8 | Mon, Sep 29 | LR parser construction | Ch. 4.7, 4.9 | ||
| Wed, Oct 1 | Rosh Hashanah | ||||
| 9 | Mon, Oct 6 | LR parser construction | HW 2 | ||
| 10 | Wed, Oct 8 | Ambiguity, Conflicts, Errors | Ch. 4.8 | ||
| 11 | Mon, Oct 13 | Exam Review | HW 2 | ||
| Wed, Oct 15 | Mid-Term Exam - 1 | ||||
| 12 | Mon, Oct 20 | Scopes, Symbol tables | Ch. 2.7 | HW 3 | |
| 13 | Wed, Oct 22 | Runtime Storage Organization | Ch. 7.1-7.4 | ||
| 14 | Mon, Oct 27 | Attribute Grammars | Ch. 5 | ||
| 15 | Wed, Oct 29 | Attribute Grammars | Ch. 5 | HW 3 | |
| 16 | Mon, Nov 3 | Abstract Syntax | Ch. 5 | ||
| 17 | Wed, Nov 5 | Type checking and inference | Ch. 6.3, 6.5 | ||
| 18 | Mon, Nov 10 | Type checking for object-oriented programs | Notes | HW 4 | |
| 19 | Wed, Nov 12 | Code Generation: Abstract Machines | Ch. 6.2 | ||
| Mon, Nov 17 | Mid-Term Exam - 2 | ||||
| 20 | Wed, Nov 19 | Code Generation: Expressions | Ch. 6.4 | HW 5 | HW 4 |
| 21 | Mon, Nov 24 | Conditions and Control Statements | Ch. 6.6 | ||
| 22 | Wed, Nov 26 | Control Statements, Procedures | Ch. 6.7-6.9 | ||
| 23 | Mon, Dec 1 | Code Generation | Ch. 8.1-8.5 | HW 6 | HW 5 |
| 24 | Wed, Dec 3 | Storage Management, Garbage Collection | Ch. 7.5-7.7 | ||
| 25 | Mon, Dec 8 | Local Code Optimization | Ch. 8.6-8.8 | ||
| 26 | Wed, Dec 10 | Global Code Optimization | Ch. 9.1-9.2 | HW 6 | |
| Wed, Dec 17 | Final Exam | 5pm - 7:30pm |
See Brook Academic Calendar for registration dates and deadlines.