Date | Description |
---|---|
September 25 |
Course introduction slides |
September 27 |
Regexps and scanning slides (same as Thur. sections) |
September 30 |
Scanners (concl.); Grammars and ambiguity (start) (3.1-3.2) slides |
October 2 | Grammars and ambiguity (concl.) |
October 4 |
LR (bottom-up) parsing (start) (3.4) slides |
October 7 |
LR parsing (concl.); LR table construction (3.5) start slides |
October 9 | LR table construction (3.5) (cont.) |
October 11 | LR conflicts, first/follow (no new slides) |
October 14 |
ASTs & visitors slides |
October 16 |
LL Parsing & recursive descent (3.3) slides |
October 18 |
Intro to semantics and type checking (4.1-4.2) slides |
October 21 | Symbol tables and representation of types (no new slides) |
October 23 | Type checking / semantics wrapup (no new slides) |
October 25 |
IRs slides |
October 28 |
x86-64 (everything you forgot from 351) slides |
October 30 | x86-64 function calls |
November 4 |
Code shape I - basic constructs slides |
November 6 |
Code shape I (concl.); II - objects and dynamic dispatch (start) slides |
November 8 | Code shape II (concl.) |
November 13 |
Opt. overview (start); project codegen & bootstrap (start) codegen slides, opt overview |
November 15 | Opt. overview (concl) |
November 18 |
Dataflow (start) slides |
November 20 |
Dataflow (concl.); SSA (start) SSA slides |
November 22 | SSA (concl.) - no new slides |
November 25 |
Back end overview; instruction selection slides |
November 27 |
Dynamic languages slides |
December 2 | Instruction scheduling & register allocation (no new slides) |
December 4 |
GC & course wrap up slides: gc, wrapup |
December 6 | No class; Extra office hours in lecture room during class time |