Compiler Construction

News

  • 11.02.2025: We are online!
  • 17.04.2025: Organizational Updates.

Schedule

TypeDayTimeRoomStartLecturer
LectureTue12:30-14:00AH 3April 8Noll
 Wed14:30-16:00AH 3April 9Noll
ExerciseFri12:30-14:00AH 2April 11Hermanns, Zilken

Contents

The goal of this course is to introduce foundational methods and techniques for implementing compilers for high-level (procedural) programming languages. The following topics will be discussed:

  • Lexical analysis of programs (Scanner)
  • Syntactic analysis of programs (Parser)
  • Semantic analysis of programs
  • Code generation
  • Tools for compiler construction

Prerequisites

Basic knowledge of the relevant undergraduate courses of the first two years is required:

  • Programming (essential concepts of imperative and object-oriented programming languages and elementary programming techniques)
  • Data structures and algorithms (lists, stacks, queues, trees and associated algorithms)
  • Formal languages and automata theory (regular and context-free languages, finite and pushdown automata)

Admission

This course has a limit of 300 students.
If You registered for the course and Your state is “Requirements met” (“Voraussetzungen erfüllt”) then You did not receive a seat in this course, but You are in a queue to refill seats when confirmed students leave the course. If, however, Your state is “Confirmed place” (“Fixplatz”) then You are admitted to the course and should also have Moodle access.
While we have no mandatory exercises, there will be mandatory E-Tests.

Giving seats to other students

The student who is willing to give up is seat can contact us via mail, declaring his intent and providing their matriculation number as well as the student’s matriculation number who should receive the seat.

Removal due to switching degree

Students who have received a fixed seat might get automatically deregistered when switching from their bachelor to a master-programme. In that case, we can assign You back into the course. Please forward us the mails sent by RWTHonline with respect to loosing/receiving seats in this course. Also sent us a quick mail with Your name, matriculation number, and state the situation (“Hello, I’m <name> (<matr-nr>) and I lost my seat due to switching to master.”).

Additional background literature

  • A. Aho, M.S. Lam, R. Sethi, J.D. Ullman: Compilers – Principles, Techniques, and Tools; 2nd ed. Addison-Wesley, 2007.
  • A.W. Appel, J. Palsberg: Modern Compiler Implementation in Java. Cambridge University Press, 2002.
  • D. Grune, H.E. Bal, C.J.H. Jacobs, K.G. Langendoen: Modern Compiler Design. Wiley & Sons, 2000.
  • R. Wilhelm, D. Maurer: Übersetzerbau, 2. Auflage. Springer, 1997.

Interesting Links

Contact

For questions or remarks, You can reach us here: cc25@i2.informatik.rwth-aachen.de