Princeton University
Computer Science Dept.

Computer Science 320
Compiling Techniques

Professor David August

Schedule and Readings

Spring 2018


Schedule

TopicReading
Introduction; Lex Appel 1
Regular expressions Appel 2.1, 2.2
Finite automata Appel 2.3, 2.4
Lex Appel 2.5
Context-free grammars Appel 3.1
Parsing Appel 3.2, 3.3
Yacc Appel 3.4
Parser error recovery Appel 3.5
Fun language; abstract syntax Appel Appendix, 4
Symbol tables, declarations, type checking Appel 5
Stack frames Appel 6
Garbage Collection/Subtyping Appel 13, Slides on Type analysis
MIDTERM EXAM
Spring Break
Garbage collection Appel 13, Slides on GC
Canonical Trees Appel 8
Instruction selection Appel 9
Control Flow Analysis Appel 18
Liveness analysis Appel 10
Dataflow analysis 1 Appel 17
Dataflow analysis 2 Appel 17
Loop Optimizations Appel 18
Static Single Assignment Form Appel 19
Instruction Scheduling
SSA: phi-elimination, correspondence to functional language Slides

Back to COS 320 front page