News

Second Exam Results Available

Written 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 Infos

Written 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 Open

Written 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 Available

Written 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 Report

Written 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 Report

Written 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.
Please indicate your preference for a time slot in the poll linked in the Materials section of the CMS until tomorrow, Wednesday, March 1, 18:00, if you want to… Read more

Hi all,

We will present the results of the project competition and how the competition was evaluated in a short MS Teams meeting.
Please indicate your preference for a time slot in the poll linked in the Materials section of the CMS until tomorrow, Wednesday, March 1, 18:00, if you want to participate in this meeting.

-- the CC Team

Project Presentation Schedule Announced

Written 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.
Please make sure that you are at the room in time, but do not enter before you are called in.
At least one group member should have the project source… Read more

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 you are at the room in time, but do not enter before you are called in.
At least one group member should have the project source code and a working build readily available on a laptop.
You do not need to prepare slides or the like.

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,
the CC Team
 

First Exam Results Available

Written 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 Sheet

Written 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 Tutorial

Written on 08.02.23 by Fabian Ritter

tl;dr:

  • first exam: 16 Feb 2023, 15:00-17:00 in LH 002, building E1 3; be there at 14:45, no cheat sheets allowed
  • fill in the poll linked on the Materials page to schedule a project presentation for your group until 17 Feb 2023
  • there is an exam prep tutorial on Friday, suggest topics in the… Read more

tl;dr:

  • first exam: 16 Feb 2023, 15:00-17:00 in LH 002, building E1 3; be there at 14:45, no cheat sheets allowed
  • fill in the poll linked on the Materials page to schedule a project presentation for your group until 17 Feb 2023
  • there is an exam prep tutorial on Friday, suggest topics in the Discourse thread

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.


The project presentations will take place from Tuesday, 28 Feb 2023, until Thursday, 02 Mar 2023, in person in room 401, E1 3.
Please enter the preferences of your group for a time slot on these days in the poll linked on the Materials page in the CMS until no later than Friday, 17 Feb 2023. Only one person should enter the preferences per group (under the group's name), please agree on them beforehand. Select as many time slots as possible where all group members are available. Your meeting will take place in a 30 minute period within a selected time slot, we will announce the exact times for each group once we have the assignment to the time slots.

To pass the project, students must participate in their group's project presentation.
At least one group member should have the project source code and a working build available on a laptop.

 

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.


Best,
the CC Team

Today's Lecture moved to next Tuesday

Written on 02.02.23 by Sebastian Hack

Dear all, the lecture today is moved to next Tuesday. There'll be no lecture today.

Last Assignments

Written 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.
Be aware that there are no daily tests for the last project assignment; you will have to use your own tests to ensure its correctness.

-- the CC Team

Course Evaluation

Written 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 Sheet

Written 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 cancelled

Written 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,
Sebastian Hack

Permanent Change of Room for the Second Tutorial and New Project Assignment Available

Written 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 cancelled

Written 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 Tutorials

Written 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),

  • at 10 c.t. (Tutorial 1, in seminar room 106, upstairs in E1 1) and
  • at 12 c.t. (Tutorial 2, in lecture hall 2 in E1 3), respectively.

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),

  • at 10 c.t. (Tutorial 1, in seminar room 106, upstairs in E1 1) and
  • at 12 c.t. (Tutorial 2, in lecture hall 2 in E1 3), respectively.

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 Available

Written 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

Show all

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.

Privacy Policy | Legal Notice
If you encounter technical problems, please contact the administrators.