The course slides will be posted before the course. They are available in two forms: either one page per sheet, with all animations expanded (1pps) or four pages per shee, with all animations collapsed (4pps).
Date | Title | Link to PDFs |
---|---|---|
2016-02-25 | Course Introduction | 1 pps / 4 pps |
The L3 project | 1 pps / 4 pps | |
2016-03-03 | Intermediate representations | 1 pps / 4 pps |
2016-03-10 | Values representation | 1 pps / 4 pps |
2016-03-17 | Closure conversion | 1 pps / 4 pps |
2016-03-24 | Code optimizations | 1 pps / 4 pps |
2016-04-07 | Dataflow analysis | 1 pps / 4 pps |
2016-04-14 | Register allocation | 1 pps / 4 pps |
2016-04-21 | Instruction scheduling | 1 pps / 4 pps |
Tail calls | 1 pps / 4 pps | |
2016-04-28 | Interpreters and Virtual Machines | 1 pps / 4 pps |
2016-05-12 | Memory management | 1 pps / 4 pps |
2016-05-19 | Object-oriented languages | 1 pps / 4 pps |
Books
- Andrew W. Appel and Jens Palsberg, Modern Compiler Implementation in Java, Addison-Wesley, 1997
- Andrew Appel, Compiling with Continuations, Cambridge University Press
- Richard Jones, Antony Hosking, Eliot Moss – The Garbage Collection Handbook, Chapman & Hall, 2012
- Keith D. Cooper and Linda Torczon, Engineering a Compiler, Morgan Kaufmann, 2003
Conference Papers
- Andrew Kennedy, Compiling with Continuations, Continued. Presents a CPS-based intermediate language that was the direct inspiration for CPS/L3.
- Olivier Danvy and Andrzej Filinski, Representing Control: a Study of the CPS Transformation. Presents the improved CPS transformation used in the course and by Kennedy in his paper above. Also introduces delimited continuations.
- Paul Wilson, Uniprocessor Garbage Collection Techniques. A good, albeit somewhat dated, survey of garbage collection techniques.
Jump to:
Are you interested in a Master or Semester Project in compilers?