Princeton University
Computer Science Dept.

Computer Science 320
Compiling Techniques

Professor David August

Schedule and Readings

Spring 2001


Schedule

DateTopicReading
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/25Spring 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/5Control Flow Analysis Appel 18
Liveness analysis Appel 10
4/10-4/12Dataflow analysis 1 Appel 17
4/16 Code Generation due
4/17-4/19Dataflow analysis 2 Appel 17
4/24-4/26Loop 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/19FINAL EXAM

Back to COS 320 front page | Assignments | Course Newsgroup | Links