In the course we discuss the following topics (Chapters refer to
ModernCompilerImplementationInML). The project entries in the schedule are steps in building the
TigerCompiler.
Week 1
- Meeting 1 (29/10)
- Meeting 2 (2/11):
- Translating Tiger to MIPS
- Tiger Abstract Syntax, Assembly Code (Chapter 4)
- Tiger Eval
Week 2
- Meeting 3 (5/11)
- Meeting 4 (9/11)
- no meeting scheduled (voorlichting)
Week 3
- Meeting 5 (12/11)
- Meeting 6 (16/11)
- Project
- IR2ASM: Instruction Selection for MIPS
- CanonicalizeIR: canonicalize Intermediate Representation
Week 4
- Meeting 7 (19/11)
- Meeting 8 (23/11)
- Loose ends in the basic compiler
- Project
- Finish basic compiler
- week 5-6: Polish and extend with optimizers
Week 5
- Meeting 9 (26/11)
- Meeting 10 (30/11)
- Register Allocation (Chapter 10, 11)
- Jory van Zessen
Week 6
- Meeting 10 (3/12)
- Meeting 11 (7/12)
Week 7
- Meeting 11 (10/12)
- Meeting 11 (14/12)
- Compiling Functional Programming Languages (Chapter 15)
- Jory van Zessen, MartinBravenboer
Week 8