Schedule
Tentative schedule, subject to change in the future.
LEC: lecture material
READ: text or papers to be read BEFORE each class
HW: homework
LAB: lab out
DUE: lab due
Time | Topic | Lecture | Homework & Quizzes | Lab |
Apr. 23 | Overview |
LEC: Overview
READ: Tiger chap. 1 |
HW: hw 0 | LAB: lab 1: Lexer and Parser |
Apr. 30 | Lexical Analysis |
LEC: Lexical Analysis: part I; part II; part III READ: Tiger chap. 2 |
HW: hw 1 |
LAB: lab 2: Abstract Syntax Tree and Type Checker |
May 7 | No Class | Recruiting week | ||
May 14 | Parsing |
LEC: Context-free Grammar; LL(k) Parsing; LR(k) Parsing READ: Tiger chap. 3 |
HW: hw 2 |
LAB: lab 3: Intermediate representation |
May 21 | Abstract Syntax Tree |
LEC: Abstract Syntax
Tree READ: Tiger chap. 4 |
HW: hw 3 |
|
May 28 | Type Checking |
LEC: Type checking; Type inference; Type polymorphism READ: Tiger chap. 5, 16 & paper: Type system |
HW: hw 4 |
LAB: lab 4: Instruction selection |
June 4 | Intermediate representation |
LEC: Stack code; Three-address code; READ: Tiger chap. 9 |
HW: hw 5 |
|
June 11 | Object-oriented Languages |
LEC: Object; Exception READ: Tiger chap. 14 & paper: Java Interfaces (notes) & paper: Exceptions & paper: Subroutine |
HW: hw 6 |
LAB: lab 5: Register allocation |
June 18 | Program Analysis & Optimization |
LEC: control-flow; data-flow; Optimization Global optimization READ: Tiger chap. 10, 17, 18 |
HW: hw 7 |
|
June 24 | Instruction Selection |
LEC: Expression
selection; Tree matching; Functions READ: Tiger chap. 9 |
HW: hw 8 |
LAB: lab 6: Garbage collector |
June 25 | Register Allocation |
LEC:
Local allocation; Graph coloring; Linear scan READ: Tiger chap. 11 & paper Chaitin & paper Briggs & paper: Linear scan & paper: SSA allocation |
HW: hw 9 |
|
July 1 | Garbage Collection |
LEC: Garbage Collection READ: Tiger chap. 13 & paper: Uni-processor GC & paper: GC support & paper: GC in HotSpot JVM |
HW: hw 10 |
LAB: lab 7: Static Single-assignment |
July 1 | Static Single-assignment |
LEC: SSA; SSA optimizations READ: Tiger chap. 19 & paper: SSA & paper: Fast Construction |
HW: hw 11 |
|
July 2 | Closures & Continuations |
LEC:
Closures; Continuations; READ: Tiger chap. 14 & Tiger chap. 16 & paper: Functional Language Compilation |
HW: hw 12 |
|
July 10 | Final Test |
Time: 14:00-16:00 Location: Minxue 101-102 Style: open book & open notes |