News
Solo Project Deadline Approaching - Grading InformationWritten on 05.11.25 by Joachim Meyer Hi all, here's a reminder that the solo project has a hard deadline for submission, this Sunday, Nov 9th, 23:59 CET. Hi all, here's a reminder that the solo project has a hard deadline for submission, this Sunday, Nov 9th, 23:59 CET. The group project phase starts next week. We also want to make sure you understand what the impact of the solo project is with regard to your final grade. Good luck! |
Solo Project Office Hour Nov 4. 10-11:30Written on 29.10.25 by Joachim Meyer We will offer an Office Hour for the project, next Tuesday, Nov 4, 10-11:30, Room E1.3 4.01. This office hour is the place to get support with the RegEx project and receive hints on what might be missing to pass more tests. We refined the project description in a few places, so it might be a… Read more We will offer an Office Hour for the project, next Tuesday, Nov 4, 10-11:30, Room E1.3 4.01. This office hour is the place to get support with the RegEx project and receive hints on what might be missing to pass more tests. We refined the project description in a few places, so it might be a good time to have a look at the updates. Please remember, the project is due 2025-Nov-9, 23:59, CET.
|
First Exercise Sheet available & Project Registration closes tonightWritten on 21.10.25 by Joachim Meyer Hello everyone, please note that the first exercise sheet is now available in the Materials section. Secondly, a quick reminder that the project registration will close tonight, 23:59. Hello everyone, please note that the first exercise sheet is now available in the Materials section. Secondly, a quick reminder that the project registration will close tonight, 23:59. We will make the assignment for the solo project available in the Materials section tomorrow by noon. If you have any questions, please post them in the Forum - this is the primary contact point for the course! |
First Lecture & Tutorial PreferencesWritten on 13.10.25 (last change on 14.10.25) by Joachim Meyer Welcome everybody! We're glad you chose to hear Compiler Construction (CC) this year. Tomorrow, Oct 14, we're kicking the lecture off at 08:30 in lecture hall 003 (E 1.3). If you… Read more Welcome everybody! We're glad you chose to hear Compiler Construction (CC) this year. Tomorrow, Oct 14, we're kicking the lecture off at 08:30 in lecture hall 003 (E 1.3). If you registered early, you might not have been able to select a tutorial preference yet. Please select your tutorial preference until Sunday, 19 Oct. Finally, to register for the project: please follow the steps at How to Attend. See you in class! |
Compiler Construction
The course treats compiler construction for imperative programming languages. This includes lexical, syntactical, and semantic analysis as well as static program analysis, optimization, and code generation. This course provides all necessary theoretical knowledge required to implement a compiler from scratch, which forms the practical part of the lecture.
Syllabus
- Lexing and Parsing (LL, LR)
- Semantic Analysis, Type Checking
- Foundations of Program Analysis by Abstract Interpretation
- Program Optimizations and their Analyses
- SSA
- LLVM
- Instruction Selection
- Scheduling
- Register Allocation
- Polyhedral Compilation
- DSLs
Lecture Dates
- The lectures will be recorded and made available online.
- Time and Place: Tuesdays: 8:30, Thursdays: 12:15, E1.3 HS003
- First Lecture: Tuesday, 14.10., 8:30, E1.3 HS003
Modus Operandi
There will be voluntary exercise sheets that are discussed in tutorials.
To get a course certificate, students must pass the final exam and the projects. If you pass both, the exam and the projects, the final grades for the course will be computed as the (equally weighted) arithmetic mean between your exam grade and your project grade, rounded towards your exam grade.
The practical projects are to be implemented in C++. The first individually, the second in groups of 2-3 students. The grade will depend on how many tests your projects pass, how much the individual students contributed to the project, and the demonstrated understanding of the project in the oral presentation. In the end of the lecture period, we will host a competition for the student compiler implementations. The top performing groups of the competition will earn a 0.3 (or 0.4) bonus to their total course grades.
