Compiler Construction, Fall 2010
This is an archival version of the course.
Next edition is Compiler Construction Fall 2011
General
Moodle system for submitting your lab solutions
Previous edition: Compiler Construction 2009
Course Material
Week 01, Sep 20:
- Labs 01: Introductory Lab Session. Wednesday, 08:15am in INF3
- Lecture 01: Introductory Lecture. Wednesday, 10:15am in CO123
Week 02, Sep 27:
- Lecture 02: Lexical Analysis. Review of grammars. Monday, 10:15am in INM202
- Labs 02: Finishing Labs 01, learning about Tool language, preparing test cases. Wednesday, 08:15am in INF3
- Exercises 01: done in class. Wednesday, 10:15am in CO123
- Homework 01: due 13 October
Week 03, Oct 4:
- Labs 03: Writing a lexer for the Tool compiler. Wednesday, 08:15am in INF3
- Exercises 02: Wednesday, 10:15am in CO123
- Homework 02: due 20 October
Week 04, Oct 11:
- Lecture 04: Parsing General Grammars: CYK
- Labs 04: Writing a parser for the Tool compiler. Wednesday, 08:15am in INF3
- Exercises 03: Wednesday, 10:15am in CO123
- Homework 03: due 27 October
Week 05, Oct 18:
- Lecture 05: Earley Parser, Semantic Actions, and Combinators
- Exercises 04: Earley and CYK algorithms
- Homework 04: due 3 November
Week 06, Oct 25:
- Lecture 06: LR Parsing
- Labs 06: Implementing name analysis for the Tool compiler. Wednesday, 08:15am in INF3
- Lecture 06a: Name Analysis. Concept of Type Analysis
- Homework 05: due 10 November
Week 07, Nov 1:
- Lecture 07: Type Analysis
- Lecture 07a: Subtyping
- Exercises 06: Wednesday, 10:15am in CO123
- Homework 06: due 17 November
Week 08, Nov 8:
- Lecture 08: More Subtyping. Soundness
- Labs 08: Finishing typechecking. Wednesday, 08:15am in INF3
- Exercises 07: Wednesday, 10:15am in CO123
- Homework 07: due 24 November
Week 09, Nov 15:
- Lecture 09: Code Generation Introduction
- Labs 09 : Finishing typechecking (extended deadline), starting code generation. Wednesday, 08:15am in INF3
- Exercises 08: Wednesday, 10:15am in CO123
Week 10, Nov 22:
- Lecture 10: Code Generation
- Labs 10 : Finishing code generation. Wednesday, 08:15am in INF3
- Lecture 10a: Compiling Conditionals
Week 11, Nov 29:
- Exercises 09: Monday, 10:15am in INM202
- Labs 11 : Start working on personal extension projects. Wednesday, 08:15am in INF3
- Lecture 11: Procedure stack frames and liveness. Wednesday, 10:15am in CO123
Week 12, December 6:
- Lecture 12: Register Allocation. Data-flow analysis. Monday, 10:15am in INM202
- Labs 12: Continue working on personal extension projects. Wednesday, 08:15am in INF3
- Lecture 12a: Data-Flow Analysis. Wednesday, 10:15am in CO123
Week 13, December 13:
- Lecture 13: More Data-flow Analysis. Heap. Advanced Procedures. Monday, 10:15am in INM202
- Exercises 10: live variable analysis and register allocation
- Labs 13: Continue working on personal extension projects. Wednesday, 08:15am in INF3
- Exercises: Review of example quiz
- Lecture 14 (not given)
Week 14, December 20:
- Monday, 20 December, 10am: In-Class Quiz
- Wednesday, 22 December, 8:15-noon: Students Present Results of their Labs
January:
- Saturday, 8 January, 11.55pm (23h55), Strict deadline for handing in the final report and code.