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 |