Lecture Topics

DateDescription
September 24 Overview, regexps, DFAs and scanners (Read ch. 1, 2.1-2.4 [skim 2.4 NFA->DFA details])
slides: overview, regexp
October 1 Grammars & LR parsing (3.1-3.2, 3.4)
slides: grammars, LR parsing
October 8 LR construction (3.4), LL parsing (3.3), AST/visitor
slides: LR, LL, AST
October 15 Semantics & typechecking (2nd ed: 4.1-4.2, 5.5; 3rd ed: 4.5, 5.4, 5.5)
slides
October 22 x86-64; Code shape I (2nd ed: 7.1-7.5, 7.8; 3rd ed: 7.1-7.5)
slides: x86-64, code 1
October 29 Code shape II; IRs (2nd ed: 5.1-5.5, 6.2-6.4, 7.9; 3rd ed: 4.1-4.5, 6.1-6.4, 7.7)
slides: code 2, IRs
November 5 Optimization: overview, dataflow (8.1-8.3, 8.6, 8.7, 9.1-9.2)
slides: opt, dataflow
November 12 SSA; project codegen (9.1-9.3, 10.1-10.3, 10.5); start backend
slides: ssa, codegen, back end
November 19 Compiler back end (2nd ed: 11.1-11.4, 12.1-12.4, 13.1-13.4; 3rd ed: 11.1, 11.2, 11.4, 12.1-12.4, 13.1-13.4), Garbage collection (if time), Exam overview
slides: back end, gc, exam review
November 26 No class - Happy Thanksgiving!