Lecture Topics

DateDescription
March 27 Course introduction
slides
March 29 Intro. to parsing; regexps and scanning (Read ch. 1, 2.1-2.4)
slides
March 31 regexps & FAs (cont.)
April 3 Scanners (concl.); Grammars and ambiguity (start) (3.1-3.2)
slides
April 5 Grammars and ambiguity (concl.); LR (bottom-up) parsing (start) (3.4)
slides
April 7 LR parsing (cont.)
April 10 LR parsing (concl.); LR table construction (3.5)
slides
April 12 LR conflicts, first/follow (no new slides)
April 14 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 21 Symbol tables and representation of types
April 24 Type checking / semantics wrapup
April 26 x86-64 (everything you forgot from 351)
slides
April 28 x86-64 function calls; Code shape I - basics (start)
slides
May 1 Code shape I (concl); Code shape II - objects and dynamic dispatch (start)
slides
May 3 Code Shape II (concl.)
May 8 IRs
slides
May 10 Opt. overview
opt slides
May 12 Opt. overview (concl.); Dataflow (start)
slides
May 15 Dataflow (concl.)
May 17 SSA (start); project codegen & bootstrap (start)
SSA slides, codegen slides
May 19 SSA (cont.) - no new slides
May 22 Back end overview; instruction selection
slides
May 24 Instruction scheduling & register allocation (no new slides)
May 26 No lecture today - extended office hours in CSE 303 instead
May 31 Dynamic languages
slides
June 2 GC & course wrap up
slides: gc, wrapup