Princeton University
Computer Science Dept.
Computer Science 320
Compiling Techniques
Professor David August
Schedule and Readings
Spring 2001
Schedule
Date
Topic
Reading
2/6-2/8
Introduction; ML language
Ullman
1-3,
Appel
1
Regular expressions
Appel
2.1, 2.2
Finite automata
Appel
2.3,2.4
2/15
Interpreter due
2/13-2/15
ML-Lex
Appel
2.5,
ML-Lex manual
More on ML
Ullman
4-9
Context-free grammars
Appel
3.1
2/20
Lexer due
2/20-2/22
Parsing
Appel
3.2,3.3
ML-Yacc
Appel
3.4;
ML-Yacc manual
LL parser generation
Appel
3.2
LR parser generation
Appel
3.3
2/27-3/1
Parser error recovery
Appel
3.5
Fun language; abstract syntax
Appel
Appendix, 4
3/5
Parser due
3/6-3/8
Symbol tables, declarations, type checking
Appel
5
Stack frames
Appel
6
3/13
Type Checker due
3/13
Garbage Collection/Subtyping
Appel
13
3/15
MIDTERM EXAM
covers thru 3/8
3/17-3/25
Spring Break
3/27-3/29
Garbage collection
Appel
13
Canonical Trees
Appel
8
Instruction selection
Appel
9
4/2
Garbage Collector due
4/3-4/5
Control Flow Analysis
Appel
18
Liveness analysis
Appel
10
4/10-4/12
Dataflow analysis 1
Appel
17
4/16
Code Generation due
4/17-4/19
Dataflow analysis 2
Appel
17
4/24-4/26
Loop Optimizations
Appel
18
Static Single Assignment Form
Appel
19
4/25
Liveness Analysis and Interference Graph Construction due
5/1-5/3
Instruction Scheduling
5/7
Register Allocation due
5/15
Dean's Date
5/19
FINAL EXAM
Back to COS 320 front page
|
Assignments
|
Course Newsgroup
|
Links