| Date | Description |
|---|---|
| March 26 |
Course introduction slides |
| March 28 |
Intro. to parsing; regexps and scanning (Read ch. 1, 2.1-2.4) slides |
| March 30 | Regexps and scanners (concl.) |
| April 2 |
Grammars and ambiguity (3.1-3.3) slides |
| April 4 |
LR (bottom-up) parsing (3.4) slides |
| April 6 | LR Parsing |
| April 9 |
LR parsing (3.5) slides |
| April 11 | LR table construction; LR conflicts |
| April 13 | LR conflicts, first / follow |
| April 16 |
ASTs & visitors; slides, |
| April 18 |
LL Parsing & recursive descent (3.3) slides |
| April 20 |
Intro to semantics and type checking (4.1-4.2) slides |
| April 23 | Semantics; Attribute grammars (4.3) |
| April 25 | Attribute grammars (examples) |
| April 27 | Symbol tables and representation of types |
| April 30 |
x86-64 (everything you forgot from 351) slides |
| May 4 | x86-64 function calls & wrapup |
| May 7 |
Code shape I - basics slides |
| May 9 |
Code shape II - objects and dynamic dispatch slides |
| May 11 | Project codegen (concl.) |
| May 14 |
IRs; Optimization overview (start) slides; |
| May 16 |
Optimization slides |
| May 18 |
Optimization (concl.); Dataflow (start) slides |
| May 21 | Dataflow |
| May 23 |
Dataflow (concl.); SSA (start) slides |
| May 25 | SSA (cont.) |
| May 30 |
Back end overview; instruction selection & scheduling slides |
| June 1 | register allocation & wrapup |