Lecture Topics

DateDescription
March 25 Course introduction
slides
March 27 Intro. to parsing; regexps and scanning (Read ch. 1, 2.1-2.4)
slides
March 29 regexps & FAs (cont.)
April 1 Scanners (concl.); Grammars and ambiguity (start) (3.1-3.2)
slides
April 3 Grammars and ambiguity (concl.)
April 5 LR (bottom-up) parsing (start) (3.4)
slides
April 8 LR parsing (concl.)
April 10 LR table construction (3.5)
slides
April 12 LR conflicts, first/follow (no new slides)
April 15 ASTs & visitors
slides
April 17 LL Parsing & recursive descent (3.3)
slides
April 19 Intro to semantics and type checking (4.1-4.2)
slides
April 22 Symbol tables and representation of types (no new slides)
April 24 Type checking / semantics wrapup (no new slides)
April 26 IRs
slides
April 29 x86-64 (everything you forgot from 351)
slides
May 1 x86-64 function calls; Code shape I - basics (start)
May 6 Code shape I
slides
May 8 Code shape II - objects and dynamic dispatch (start)
slides
May 10 Code shape II (concl.)
May 13 Opt. overview (start)
slides
May 15 Opt. overview (concl); project codegen & bootstrap (start)
codegen slides
May 17 Dataflow (start)
slides
May 20 Dataflow (concl.); SSA (start)
SSA slides
May 22 SSA (concl.) - no new slides
May 24 Back end overview; instruction selection
slides
May 29 Instruction scheduling & register allocation (no new slides)
May 31 GC & course wrap up
slides: gc, wrapup