Course Schedule

CS421/521: Compilers and Interpreters, Fall 2007, Yale University

Last modified: October 21, 2007.
9/5:
Lecture: Introduction; ML Language (Appel 1; Ullman 1-3)
9/7:
Lecture: (replacing 9/10 lecture) Regular Expressions; Finite Automata (Appel 2.1-2.4)

9/10:
No Lecture (this lecture is moved to Friday, 1-2:15pm, 9/7)
9/12:
Lecture: SML/NJ; More about ML (Ullman 4-9)
9/14:
Assignment 1 Due.

9/17:
Lecture: Finite Automata; Lex and ML-Lex (Appel 2.3-2.4, ML-Lex Manual)
9/19:
Lecture: Context-Free Grammars; Parsing (Appel 3.1-3.4)

9/24:
Lecture: Parsing & Yacc (ML-Yacc Manual; Appel 3.2-3.4)
9/25:
Assignment 2 Due.
9/26:
Lecture: Tiger Language; Abstract Syntax (Appel 4, Appendix)

10/1:
Lecture: Symbol Tables; Type Checking (Appel 5.1-5.3)
10/2:
Assignment 3 Due.
10/3:
Lecture: More on Type Checking (Appel 5.3-5.4)

10/8:
Lecture: Stack Frames (Appel 6)
10/9:
Assignment 4 Due.
10/10:
Lecture: More on Stack Frames (Appel 6)

10/15:
Lecture: Intermediate Trees; Expressions to Trees (Appel 7.1-7.3)
10/17:
Lecture: Declarations to Trees; Canonical Trees (Appel 7.3, 8.1-8.2)
10/19:
Assignment 5 Due.

10/22:
Lecture: Instruction Selection; Liveness (Appel 9-10)
10/24:
Lecture: Register Allocation; Linking (Appel 11-12)

10/29:
Lecture: Higher-Order Functions; Closures (Appel 15)
Assignment 6a Due.
10/31:
Lecture: Closures; Object-Oriented Languages (Appel 14)
11/2:
Assignment 6b Due.

11/5:
Lecture: Object-Oriented Languages (Appel 14)
11/7:
Lecture: Garbage Collection (Appel 13)
Assignment 6c Due.

11/12:
Lecture: Program Analysis (Appel 17-18)
Assignment 6d Due.
11/14:
Lecture: Compiler Optimizations (Appel 18-19)
11/16:
Assignment 6e Due.

11/19:
THANKSGIVING RECESS
11/21:
THANKSGIVING RECESS

11/26:
Lecture: Certified Code; Virtual Machine
11/28:
Lecture: Parser Generation

12/3:
Lecture: Certified vs. Certifying Compiler
12/5:
Lecture: In-class Quiz

12/14:
Assignment 7 Due.

Copyright (c) 1998-2007 Zhong Shao, Dept. of Computer Science, Yale University