| Date | Description |
|---|---|
| September 28 |
Course introduction slides |
| September 30 | Regexps and scanners (slides from Thur. sec.) |
| October 3 |
Scanners (concl.); Grammars and ambiguity (start) (3.1-3.3) slides |
| October 5 | Grammars and ambiguity (concl.) |
| October 7 |
LR (bottom-up) parsing (3.4) slides |
| October 10 | LR parsing (concl.) |
| October 12 |
LR table construction (start) (3.5) slides |
| October 14 | LR conflicts, first/follow |
| October 17 |
ASTs & visitors; slides |
| October 19 |
LL Parsing & recursive descent (3.3) slides |
| October 21 |
Intro to semantics and type checking (4.1-4.2) slides |
| October 24 | Symbol tables and representation of types |
| October 26 | Type checking / semantics wrapup |
| October 28 |
IRs slides |
| October 31 |
x86-64 (everything you forgot from 351) x86-64 slides |
| November 2 | x86-64 (concl.) |
| November 7 |
Code shape I - basics slides |
| November 9 |
Code shape II - objects and dynamic dispatch slides |
| November 14 |
Code Shape II (concl.); Optimization overview (start) opt slides |
| November 16 |
Opt. overview (cont.); project codegen & bootstrap (start) codegen slides |
| November 18 | Opt. overview (cont.) |
| November 21 |
Opt. overview (concl.); Dataflow (start) slides |
| November 23 | Dataflow (concl.) |
| November 28 |
SSA (start) slides |
| November 30 | SSA (concl.) |
| December 2 |
Back end overview; instruction selection slides |
| December 5 | Instruction scheduling & register allocation (no new slides) |
| December 7 |
Dynamic languages slides |
| December 9 |
GC & course wrap up gc |