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 |
| |