VVZ API is not affiliated with ETH Zurich. Data might be outdated or incorrect. Please view the official ETHZ Vorlesungsverzeichnis for binding information.
Compiler Design
Last Updated: 2026-02-05 15:48:02
Abstract
This course uses compilers as examples to expose students to modern software development techniques. Tentative topics include: compiler organization; lexical analysis; top-down and bottom-up parsing; symbol tables; semantic analysis; code generation; local and global optimization; register allocation; automatic memory management.
Objective
Learn principles of compiler design; gain practical experience designing and implementing a medium-scale software system.
Content
This course uses compilers as example to expose modern software development techniques. The course introduces the students to the fundamentals of compiler construction. Students will implement a simple yet complete compiler for an object-oriented programming language for a realistic target machine. Students will learn the use of appropriate tools. Throughout the course, students learn to apply their knowledge of theory (automata, grammars, stack machines, program transformation) and well-known programming techniques (module definitions, design patterns, frameworks, software reuse) in a software project. A tentative list of topics: compiler organization; lexical analysis; top-down and bottom-up parsing; symbol tables; semantic analysis; code generation; local and global optimization; register allocation; automatic memory management; optional advanced topics if/when time permits.
Resources
Literature
Aho/Lam/Sethi/Ullmann, Compilers - Principles, Techniques, and Tools (2nd Edition) Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufmann Publishers, 1997
General Information
- Language
- English
- Levels
- BSC
- Frequency
- Yearly recurring
Examination
- Type
- session examination
- Mode
- written 120 minutes
- Aids
- 2 sheets of DIN A4 paper (or 4 pages with notes on one side) with handwritten notes.
Course Components
| Type | Title | Time & Place | Hours |
|---|---|---|---|
| lecture |
Compiler Design
Online event: Will primarily take place online. Reserved rooms will remain blocked on campus for students to follow the course from there.
|
|
4 h weekly |
| exercise |
Compiler Design
Online event: Will primarily take place online. Reserved rooms will remain blocked on campus for students to follow the course from there.
|
|
3 h weekly |