Date | Description |
---|---|
September 27 |
Course introduction slides |
September 29 |
Regexps and scanners slides (same as Thur. sections) |
October 2 |
Scanners (concl.); Grammars and ambiguity (start) (3.1-3.3) slides |
October 4 | Grammars and ambiguity (concl.); start LR parsing |
October 6 |
LR (bottom-up) parsing (3.4) slides |
October 9 | LR parsing (concl.) |
October 11 |
LR table construction (start) (3.5) slides |
October 13 | LR conflicts, first/follow |
October 16 |
ASTs & visitors; slides |
October 18 |
LL Parsing & recursive descent (3.3) slides |
October 20 |
Intro to semantics and type checking (4.1-4.2) slides |
October 23 | Symbol tables and representation of types |
October 25 | Type checking / semantics wrapup |
October 27 |
IRs slides |
October 30 |
x86-64 (everything you forgot from 351) x86-64 slides |
November 1 |
x86-64 (concl.); Code Shape I - basics (start) slides |
November 6 |
Code shape I - basics (concl.); Code Shape II - objects and dynamic dispatch (start) slides |
November 8 | Code shape II - objects and dynamic dispatch (cont.) |
November 13 |
Code shape II (concl.); Optimization overview (start) opt slides |
November 15 |
Opt. overview (cont.); project codegen & bootstrap (start) codegen slides |
November 17 | Opt. overview (concl.) |
November 20 |
Dataflow (start) slides |
November 22 | Dataflow (concl.) |
November 27 |
SSA (start) slides |
November 29 |
SSA (concl.); Back end overview (start) slides |
December 1 | Instruction selection & scheduling (no new slides) |
December 4 | Register allocation (no new slides) |
December 6 |
Dynamic languages slides |
December 8 |
GC & course wrap up gc, wrapup |