Course Schedule
CS421/521: Compilers and Interpreters, Spring 2015, Yale University
Last modified: April 7, 2017.
1/17:
Lecture: Introduction; ML Language (Appel 1; Ullman 1-3)
1/19:
Lecture: More about ML; Regular Expressions(Appel 2.1-2.4)
1/24:
Lecture: SML/NJ and ML (Ullman 4-9); Finite Automata (Appel 2.3-2.4);
1/26:
Lecture: More about ML; Lex and ML-Lex (Appel 2.3-2.4,
ML-Lex Manual
)
1/31:
Lecture: Context-Free Grammars; Parsing (Appel 3.1-3.4)
Assignment 1
Due.
2/2:
Lecture: Parsing & Yacc (
ML-Yacc Manual
; Appel 3.2-3.4)
2/7:
Lecture: Parser Generation
Assignment 2
Due.
2/9:
Lecture: Tiger Language; Abstract Syntax (Appel 4, Appendix)
2/14:
Lecture: Symbol Tables; Type Checking (Appel 5.1-5.3)
Assignment 3
Due.
2/16:
Lecture: More on Type Checking (Appel 5.3-5.4)
2/21:
Lecture: Stack Frames (Appel 6)
Assignment 4
Due.
2/23:
Lecture: More on Stack Frames (Appel 6)
2/28:
Lecture: Intermediate Trees; Expressions to Trees (Appel 7.1-7.3)
3/2:
Lecture: Declarations to Trees; Canonical Trees (Appel 7.3, 8.1-8.2)
3/7:
Lecture: Instruction Selection; Assembly Code (Appel 9-10)
Assignment 5
Due.
3/9:
Lecture: Liveness; Register Allocation; Linking (Appel 10-12)
3/28:
Lecture: Q&A Session on as6
3/30:
Lecture: Higher-Order Functions; Closures (Appel 15)
4/1:
Assignment 6a
Due.
4/4:
Lecture: Object-Oriented Languages (Appel 14)
4/6:
Lecture: Garbage Collection (Appel 13)
Assignment 6b
Due.
4/10:
Assignment 6c
Due.
4/11:
Lecture: More on Garbage Collection
4/13:
Lecture: Program Analysis; Optimizations (Appel 17-19)
4/14:
Assignment 6d
Due.
4/18:
Lecture: LLVM and SSA
Assignment 6e
Due.
4/20:
Lecture: Final Review
4/25:
Lecture: Certified Compiler
4/27:
Final Quiz
5/4:
Assignment 7
Due.
Copyright (c) 1998-2017
Zhong Shao
, Dept. of
Computer Science
,
Yale University