VVZ API is not affiliated with ETH Zurich. Data might be outdated or incorrect. Please view the official ETHZ Vorlesungsverzeichnis for binding information.

252-0210-00L 8 Credits BSC D-INFK
You're viewing possible stale or outdated data. Please check the latest semester for more up-to-date information.

Compiler Design

Lecturers & Examiners: Prof. Dr. Zhendong Su
VVZ CR 3.85

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.
The grade will be determined by:(1) a mandatory project: 50%(2) a final written exam: 50%Students who are repeating the course are required to repeat the project work.

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.
  • Wed 14:15-16:00 (ML H 44)
  • Thu 16:15-18:00 (ML H 44)
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.
  • Mon 16:15-19:00 (HG G 3)
3 h weekly

Offered In