Princeton University |
Computer Science 320 |
|
Topic | Reading | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 |
| |