Date | Description |
---|---|
September 25 |
Course introduction slides |
September 27 | Regexps and scanners (cont., slides from Thur. sec.) |
September 30 |
Scanners (concl.); Grammars and ambiguity (3.1-3.3) slides |
October 2 | Grammars and ambiguity (cont.) |
October 4 |
LR (bottom-up) parsing (3.4) slides |
October 7 | LR parsing (concl.) |
October 9 |
LR table construction (3.5); LR conflicts slides |
October 11 | LR conflicts, first / follow |
October 14 |
LR/SLR wrapup; 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 | Semantics; Attribute grammars (4.3) |
October 23 | Attribute grammars (examples) |
October 25 | Symbol tables and representation of types |
October 28 |
Semantics (wrapup); x86-64 (everything you forgot from 351) slides |
October 30 | x86-64 function calls & wrapup |
November 4 |
Code shape I - basics slides |
November 6 |
Code shape II - objects and dynamic dispatch slides |
November 8 |
Codeshape (concl.); IRs (start) slides |
November 13 | IRs (concl.); start project codegen |
November 15 |
Optimization overview slides |
November 18 |
Opt. overview (concl.); Dataflow (start) slides |
November 20 |
Dataflow (concl.); SSA (start.) slides |
November 22 | SSA |
November 25 | SSA |
November 27 |
Dynamic langauges slides |
December 2 |
Back end overview; instruction selection slides |
December 4 | Instruction scheduling; register allocation (no new slides) |
December 6 |
Garbage collection slides |