Compilers



Home

Details

Schedule

References


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