Lecture Topics

DateDescription
September 30 Course introduction
slides
October 2 Regexps and scanners (slides from Thur. sec.)
October 5 Scanners (concl.); Grammars and ambiguity (start) (3.1-3.3)
slides
October 7 Grammars and ambiguity (concl.)
October 9 LR (bottom-up) parsing (3.4)
slides
October 12 LR parsing (concl.)
October 14 LR table construction (start) (3.5)
slides
October 16 LR conflicts, first/follow
handout from lecture slides
October 19 ASTs & visitors;
slides
October 21 LL Parsing & recursive descent (3.3)
slides
October 23 Intro to semantics and type checking (4.1-4.2)
slides, slide for in-class exercise
October 26 Semantics; Attribute grammars (4.3)
October 28 Attribute grammars (examples)
October 30 Symbol tables and representation of types
November 2 x86-64 (everything you forgot from 351)
slides
November 4 x86-64 function calls & wrapup; Code shape I - basics (start)
handout, slides
November 6 Code shape I (concl.), Code shape II (start)
November 9 Code shape II - objects and dynamic dispatch
slides; handout: pptx, pdf
November 13 Codeshape (concl.); Start IRs if time
November 16 IRs
slides
November 18 Optimization overview
slides
November 20 Opt. overview (concl.)
November 23 Dataflow (start)
slides
November 25 Dataflow (concl.)
November 30 SSA (start)
ssa: slides
December 2 SSA (concl.)
December 4 Back end overview; instruction selection
slides
December 7 Instruction scheduling; register allocation
December 9 Dynamic languages
slides
December 11 Garbage collection & Course Wrapup
slides