News
Second Exam Results AvailableWritten on 24.03.23 by Fabian Ritter Hi all, your score and grade for the second exam are now available on your personal status page. The exam inspection will take place on Tuesday, 28 March 2023 (i.e. next week) from 11:00 to 12:00 in Room 401, E1 3.
Best, the CC Team |
Second Exam InfosWritten on 14.03.23 by Fabian Ritter Hi all, the re-exam takes place next week Thursday, 23 Mar 2023, in lecture hall 002, building E1 3. The exam starts at 15:00 sharp; please be at the lecture hall at least 10 minutes prior to that. The same rules as for the first exam apply: You will have two hours for the exam. No cheat sheets… Read more Hi all, the re-exam takes place next week Thursday, 23 Mar 2023, in lecture hall 002, building E1 3. The exam starts at 15:00 sharp; please be at the lecture hall at least 10 minutes prior to that. The same rules as for the first exam apply: You will have two hours for the exam. No cheat sheets or tools other than writing utensils are allowed. Electronic devices will have to stay turned off in your bags at the sides of the lecture hall. Please consider wearing a mask for entering and exiting the lecture hall. If you want to participate and have not registered yet, do so ASAP.
-- the CC Team
|
LSF Registration for Re-Exam OpenWritten on 07.03.23 by Fabian Ritter Hi all, you should now be able to register in the HISPOS/LSF system for the re-exam. Be sure to do so in time if you intend to participate in the second exam. If you want to participate in the exam but cannot register in the LSF, e.g., because of your field of study, please send a mail to Fabian… Read more Hi all, you should now be able to register in the HISPOS/LSF system for the re-exam. Be sure to do so in time if you intend to participate in the second exam. If you want to participate in the exam but cannot register in the LSF, e.g., because of your field of study, please send a mail to Fabian Ritter so that we can account for this. Best, the CC Team
|
Project Grades AvailableWritten on 03.03.23 by Fabian Ritter Hi all, you can find your project grades and the total grade resulting from the first exam and the project on your personal status page. -- the CC Team
|
Date Fixed: Competition ReportWritten on 01.03.23 by Fabian Ritter Hi all, based on the poll results, the presentation of the competition results takes place on Friday, 3rd of March, at 11:00 via MS Teams. You can find the link to the Teams meeting in the Lecture Links category of the Materials page in the CMS.
-- the CC Team |
Competition ReportWritten on 28.02.23 by Fabian Ritter Hi all, We will present the results of the project competition and how the competition was evaluated in a short MS Teams meeting. Hi all, We will present the results of the project competition and how the competition was evaluated in a short MS Teams meeting. -- the CC Team |
Project Presentation Schedule AnnouncedWritten on 22.02.23 by Fabian Ritter Hi all, you should now have an Issue in your c4 project in the Gitlab with the date and time of your project presentation, during the next week. Hi all, you should now have an Issue in your c4 project in the Gitlab with the date and time of your project presentation, during the next week. Please make sure that the group.txt file in your project is up to date and includes exactly all group members who intend to pass the course with this project implementation. With the project deadline on Friday, late in the evening, be aware that the last daily test runs that you can react to will happen in the night from Thursday to Friday, so be careful what you push. Best, |
First Exam Results AvailableWritten on 17.02.23 by Fabian Ritter Hi all, you should now be able to see your score and grade for the first exam on your personal status page. The exam inspection will take place on Tuesday, 21 February 2023 (i.e. next week) from 11:00 to 12:00 in Room 401, E1 3. Also, starting tonight, the qualification tests for the project… Read more Hi all, you should now be able to see your score and grade for the first exam on your personal status page. The exam inspection will take place on Tuesday, 21 February 2023 (i.e. next week) from 11:00 to 12:00 in Room 401, E1 3. Also, starting tonight, the qualification tests for the project competition will be included with the nightly tests. Lastly, this is the last reminder to use the poll to schedule a project presentation meeting for your group, if you haven't done so already.
Best, the CC Team
|
Exam Preparation SheetWritten on 13.02.23 by Fabian Ritter Hi all, your Tutors kindly provide an exercise sheet for you to prepare for the exam(s). You can find it on the Materials page of the CMS. -- the CC Team
|
Action Required: Project Presentations, First Exam Info, Last TutorialWritten on 08.02.23 by Fabian Ritter tl;dr:
tl;dr:
Hi all, as the semester comes to its end, there are several upcoming events: On Thursday next week, 16 Feb 2023, the first exam will take place in lecture hall 002, in E1 3. The exam starts at 15:00 sharp, please be at the lecture hall at least 15 minutes prior to that. You will have two hours for the exam. No cheat sheets or tools other than writing utensils are allowed. Electronic devices will have to stay turned off in your bags at the sides of the lecture hall. Please consider wearing a mask for entering and exiting the lecture hall. If you want to participate in the exam, make sure that you have registered in the LSF or that you have sent a mail to Fabian Ritter if you cannot register for the exam in the LSF.
To pass the project, students must participate in their group's project presentation.
On Friday, 10 Feb 2023, your tutors will offer a last exam preparation tutorial. If you are particularly interested in a specific topic to discuss there, let them know in the Discourse post.
|
Today's Lecture moved to next TuesdayWritten on 02.02.23 by Sebastian Hack Dear all, the lecture today is moved to next Tuesday. There'll be no lecture today. |
Last AssignmentsWritten on 27.01.23 by Fabian Ritter Hi all, the last exercise sheet, the last project assignment, and information on the voluntary project competition are now available on the Materials page. -- the CC Team |
Course EvaluationWritten on 10.01.23 (last change on 10.01.23) by Sebastian Hack Dear all, the course evaluation started and we'd like to invite you to evaluate the course and your tutorial. To this end, please use the respective link in the Evaluation section of the Materials page here in CMS. Thank you for participating! |
New Project Assignment and New Exercise SheetWritten on 06.01.23 by Fabian Ritter Hi all, and a Happy New Year! You can now find the assignment for the second-to-last phase of our compiler project, the LLVM IR Generation, on the Materials page of the CMS, together with an archive of helpful example programs and the first exercise sheet of the year. Lectures and tutorials will… Read more Hi all, and a Happy New Year! You can now find the assignment for the second-to-last phase of our compiler project, the LLVM IR Generation, on the Materials page of the CMS, together with an archive of helpful example programs and the first exercise sheet of the year. Lectures and tutorials will start again next week in the usual schedule. Have a good start into the new year, -- the CC Team |
Today's lecture cancelledWritten on 22.11.22 by Sebastian Hack Dear all, unfortunately, I have to cancel today's lecture again due to a sickness. I am very sorry for the inconvenience. Best regards, |
Permanent Change of Room for the Second Tutorial and New Project Assignment AvailableWritten on 10.11.22 by Fabian Ritter Please note that, starting tomorrow, 2022-11-11, the late tutorial (in the 12-14 time slot) will regularly take place in building E1 1, seminar room 106 instead of the lecture hall. Moreover, the project assignments for the parsing and AST printing stages are now available on the Materials page. |
Today's lecture cancelledWritten on 03.11.22 by Sebastian Hack Dear all, we unfortunately have to cancel today's lecture. Instead we provide the recordings of today's topics from the previous instance in the YT playlist. We're sorry for the inconvenience. |
First TutorialsWritten on 02.11.22 by Fabian Ritter Your tutorial assignment is now visible on your Personal Status page. The first tutorials take place this week, on Friday (2022-11-04),
In the tutorials,… Read more Your tutorial assignment is now visible on your Personal Status page. The first tutorials take place this week, on Friday (2022-11-04),
In the tutorials, you will have the opportunity to write a voluntary minitest to get feedback on your understanding of the course material. |
Exercise Sheet and Project Assignment AvailableWritten on 28.10.22 by Fabian Ritter You can now find the first exercise sheet, which will be discussed in the tutorials next week, and the first project assignment on the Materials page of the CMS. |
Welcome!Written on 25.10.22 by Fabian Ritter Welcome to the course! Please register here until Monday, 2022-10-31, and read the how-to-attend guide. In particular, please also follow the project registration steps there until Monday, 2022-10-31.
We wish you a successful semester, The CC Team |
Compiler Construction
General Information
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:
- Tuesday 10-12 (c.t.) in Lecture Hall 002, Building E1 3
- Thursday 12-14 (c.t.) in Lecture Hall 001, Building E1 3
- First Meeting: Tuesday 2022-10-25, 10-12 (c.t.), Lecture Hall 002
- c.t. = cum tempore = an old tradition of some European universities.
Here, it means that the actual time is the announced time +15 minutes
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 project. If you pass both, the exam and the project, 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 project is to be implemented in C++ by groups of 2-3 students. 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.