News

Re-Exam Results and Inspection

Written on 25.03.21 by Matthis Kruse

Hi all,

you can now view the results of today's re-examination on your personal status page.

The re-exam inspection will take place at 2021-Mar-30. Please indicate your time slot in the respective doodle: https://doodle.com/poll/v2vcxawzhyqif82m
Make sure to actually attend the selected time… Read more

Hi all,

you can now view the results of today's re-examination on your personal status page.

The re-exam inspection will take place at 2021-Mar-30. Please indicate your time slot in the respective doodle: https://doodle.com/poll/v2vcxawzhyqif82m
Make sure to actually attend the selected time slot.

Best,
the CC team

[Reminder] Exam Attendance

Written on 24.03.21 by Fabian Ritter

Hi all,

Please be there at least 15 minutes early at the entrance to the foyer. Do not form groups.

Most importantly, you must not attend the exam if you have had close contact to a person tested positive for Covid-19 or experience one of the following symptoms:

Hi all,

Please be there at least 15 minutes early at the entrance to the foyer. Do not form groups.

Most importantly, you must not attend the exam if you have had close contact to a person tested positive for Covid-19 or experience one of the following symptoms:

  • Cough (Husten)
  • Sore Throat (Halsschmerzen)
  • Runny Nose (Schnupfen)
  • Diarrhea (Durchfall)
  • Fever (Fieber)
  • Limb Pain (Gliederschmerzen)
  • Loss of Smell (Geruchsverlust)
  • Loss of Taste (Geschmacksverlust)

Sending a medical report certifying one or more of these symptoms to the examination office will make sure that your absence won't be counted as failed attempt.
Likewise, in case you experience any of these symptoms, a medical report certifying your health is mandatory for taking part in the exam.

Make sure to wear medical-grade/FFP2/KN95 mouth-nose-protection (Mund-Nasen-Schutz) at all times. Please wash your hands and keep them away from your face. Hand sanitizer will be made available at the entrance of the lecture hall.
Ensure a distance of at least 1.5m at all times. This also holds if you are outside of the lecture hall.

 

Best,
the CC team

[Important] Exam Information

Written on 23.03.21 by Matthis Kruse

Hi all,

The exam will take place on Thursday, 25 Mar 2021 at 10:00 in Günter Hotz Hall E2.2.
Please make sure to be at the lecture hall at least 15 minutes before this time so that we can start the exam as scheduled.
Do take a look at your seating under the Exam Seats section on your personal… Read more

Hi all,

The exam will take place on Thursday, 25 Mar 2021 at 10:00 in Günter Hotz Hall E2.2.
Please make sure to be at the lecture hall at least 15 minutes before this time so that we can start the exam as scheduled.
Do take a look at your seating under the Exam Seats section on your personal status page in this CMS.

No tools other than a non-erasable pen are allowed for this exam, especially you may not use a "cheat sheet" and you do not need to bring your own paper.

Make sure to wear medical-grade/FFP2/KN95 mouth-nose-protection (Mund-Nasen-Schutz). This always holds, i.e. do not take it off. Needless to say, please wash your hands and keep them away from your face. Hand sanitizer will be made available at the entrance of the lecture hall. Do use it.
Ensure a distance of at least 1.5m at all times. This also holds if you are outside of the lecture hall.

Best,
the CC-team

Project Results Available

Written on 16.03.21 by Fabian Ritter

Hi all,

the results of the projects, as well as the total grades based on the main exam and the project, are now available on your Personal Status page. The grades are also entered into the LSF, so you should now (until Thursday) be able to register there for the re-exam as well.

Best regards,
Read more

Hi all,

the results of the projects, as well as the total grades based on the main exam and the project, are now available on your Personal Status page. The grades are also entered into the LSF, so you should now (until Thursday) be able to register there for the re-exam as well.

Best regards,
the CC team

Presentation of Competition Results

Written on 15.03.21 by Fabian Ritter

Hi all,

we will present the results of the project competition tomorrow (Tuesday, 16-Mar-2021) at 16:00 CET in an MS Teams meeting in the main channel. Please join if you want to learn about the competition results and how they were produced.

Best regards,
the CC team

 

Project Presentation Schedule and Re-Exam Registration (action required)

Written on 10.03.21 by Fabian Ritter

Hi all,

firstly, the members of project groups who registered for a project presentation should now have received an invitation to an MS Teams meeting with a date and time that is suitable for the group (if you received two invitations, please consider only the later one). Please check your… Read more

Hi all,

firstly, the members of project groups who registered for a project presentation should now have received an invitation to an MS Teams meeting with a date and time that is suitable for the group (if you received two invitations, please consider only the later one). Please check your invitation and send a email to Fabian Ritter in case of errors. Please join the scheduled meetings a few minutes ahead of time to clear out possible technical problems and make sure that your microphone and webcam both work.

Secondly, the re-exam for the course will be written on the 25th of March 2021 on Campus in person, following the University's Covid safety guidelines.
If you want to participate, please register for the exam on your Personal Status page in the CMS until the 18th of March 2021.
If you want to participate but cannot attend the exam in person, e.g. because of travel restrictions, do not register for the written exam but send an email to Fabian Ritter until the 18th of March 2021 instead, so that we can arrange an online oral exam for you.

In either case, UdS students additionally have to register for the re-exam in the LSF system.

Best regards,
the CC team

Project: The end is near, the end is coming (action required)

Written on 03.03.21 by Fabian Ritter

Hi all,

on Friday, the project comes to a close. This means 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.
For this deadline, also please make sure that your group.txt file in the repo is up to date and includes… Read more

Hi all,

on Friday, the project comes to a close. This means 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.
For this deadline, also please make sure that your group.txt file in the repo is up to date and includes exactly all group members who intend to pass the course with this project implementation.

The project presentations will take place from Thursday, March 11, to Monday, March 15, via MS Teams. Please enter the preferences of your group for a time slot on these days in this Doodle until no later than Tuesday, March 9.

Only one person should enter the preferences per group, please agree on them beforehand. Please 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. The meetings will not be recorded. You will need a working camera and microphone. At least one group member should have the project source code and a working build available for a screen share.

Best,
the CC Team
 

Tests for the Competition

Written on 26.02.21 by Fabian Ritter

Hi all,

from today on, our daily tests include four new tests that check whether your implementation can compile the benchmark programs that we will use for the competition. Be aware that these tests here do not check exhaustively whether your compiled programs are correct (but their correctness… Read more

Hi all,

from today on, our daily tests include four new tests that check whether your implementation can compile the benchmark programs that we will use for the competition. Be aware that these tests here do not check exhaustively whether your compiled programs are correct (but their correctness will be evaluated when for the competition). We therefore suggest that you thoroughly test your implementation on larger input programs.

 

Best,

the CC Team

Exam Results and Exam Inspection

Written on 25.02.21 by Matthis Kruse

Hi all,

you can now view the results of today's examination on your personal status page.

The exam inspection will take place at 2021-Mar-01. Please indicate your time slot in the respective doodle: https://doodle.com/poll/fdz9zq383ytfwwpm

Best,
the CC team

[Reminder] Exam Attendance

Written on 24.02.21 by Matthis Kruse

Hi,

Please be there at least 15 minutes early at the entrance to the foyer. Do not form groups.

Most importantly, you must not attend the exam if you have had close contact to a person tested positive for Covid-19 or experience one of the following symptoms:

Hi,

Please be there at least 15 minutes early at the entrance to the foyer. Do not form groups.

Most importantly, you must not attend the exam if you have had close contact to a person tested positive for Covid-19 or experience one of the following symptoms:

  • Cough (Husten)
  • Sore Throat (Halsschmerzen)
  • Runny Nose (Schnupfen)
  • Diarrhea (Durchfall)
  • Fever (Fieber)
  • Limb Pain (Gliederschmerzen)
  • Loss of Smell (Geruchsverlust)
  • Loss of Taste (Geschmacksverlust)

Sending a medical report certifying one or more of these symptoms to the examination office will make sure that your absence won't be counted as failed attempt.
Likewise, in case you experience any of these symptoms, a medical report certifying your health is mandatory for taking part in the exam.

Make sure to wear medical-grade/FFP2/KN95 mouth-nose-protection (Mund-Nasen-Schutz) whenever you are not sitting or talking to someone, i.e. when asking a question during the exam. Please wash your hands and keep them away from your face. Hand sanitizer will be made available at the entrance of the lecture hall.
Ensure a distance of at least 1.5m at all times. This also holds if you are outside of the lecture hall.

 

Best,
the CC team

Exam Information

Written on 22.02.21 by Matthis Kruse

The exam will take place on Thursday, 25 Feb 2021 at 10:00 in Günter Hotz Hall E2.2.
Please make sure to be at the lecture hall at least 15 minutes before this time so that we can start the exam as scheduled.

No tools other than a non-erasable pen are allowed for this exam, especially you may notRead more

The exam will take place on Thursday, 25 Feb 2021 at 10:00 in Günter Hotz Hall E2.2.
Please make sure to be at the lecture hall at least 15 minutes before this time so that we can start the exam as scheduled.

No tools other than a non-erasable pen are allowed for this exam, especially you may not use a "cheat sheet" and you do not need to bring your own paper.

Make sure to wear medical-grade/FFP2/KN95 mouth-nose-protection (Mund-Nasen-Schutz) whenever you are not sitting or talking to someone, i.e. when asking a question during the exam. Please wash your hands and keep them away from your face. Hand sanitizer will be made available at the entrance of the lecture hall.
Ensure a distance of at least 1.5m at all times. This also holds if you are outside of the lecture hall.

You must not attend the exam if you have had close contact to a person tested positive for Covid-19 or experience one of the following symptoms:

  • Cough (Husten)
  • Sore Throat (Halsschmerzen)
  • Runny Nose (Schnupfen)
  • Diarrhea (Durchfall)
  • Fever (Fieber)
  • Limb Pain (Gliederschmerzen)
  • Loss of Smell (Geruchsverlust)
  • Loss of Taste (Geschmacksverlust)

Sending a medical report certifying one or more of these symptoms to the examination office will make sure that your absence won't be counted as failed attempt.

Best,
the CC-team

Main Exam Registration (action required)

Written on 02.02.21 by Fabian Ritter

Hi all,

the main exam for the course will be written on the 25th of February 2021 on Campus in person, following the University's Covid safety guidelines.
If you want to participate, please register for the exam on your Personal Status page in the CMS until the 18th of February 2021.
If you… Read more

Hi all,

the main exam for the course will be written on the 25th of February 2021 on Campus in person, following the University's Covid safety guidelines.
If you want to participate, please register for the exam on your Personal Status page in the CMS until the 18th of February 2021.
If you cannot attend the exam in person, e.g. because of travel restrictions, do not register for the written exam but send an email to Fabian Ritter until the 18th of February 2021 instead, so that we can arrange an online oral exam for you.

In either case, UdS students additionally have to register for the main exam in the LSF system.

Best regards,
the CC team

Last Project Phase and Competition

Written on 27.01.21 by Fabian Ritter

The project assignment for the sixth and last phase of the project, the program optimization, are now available on the Materials page. There will be no dedicated automated tests for this phase, so be sure to use your own tests to validate your optimization.

Additionally, the Materials page now… Read more

The project assignment for the sixth and last phase of the project, the program optimization, are now available on the Materials page. There will be no dedicated automated tests for this phase, so be sure to use your own tests to validate your optimization.

Additionally, the Materials page now contains a document with information on the competition, where the winning teams can earn a bonus on their total course grades. Be sure to check the document even if you don't intend to participate in the competition since it links to a helpful toolkit for testing your compiler.

Important Information

Written on 25.01.21 by Matthis Kruse

Hi all,

since the lectures this week discuss recent topics and are, thus, not relevant for your examination, we'll host them as a normal Microsoft Teams Meeting instead of a Live Event, so they will not be recorded. This way, the lecture can be much more interactive.

Regarding the exam, we have… Read more

Hi all,

since the lectures this week discuss recent topics and are, thus, not relevant for your examination, we'll host them as a normal Microsoft Teams Meeting instead of a Live Event, so they will not be recorded. This way, the lecture can be much more interactive.

Regarding the exam, we have started another poll on our MS-Teams page. We kindly ask you to fill out all polls until no later than Wednesday:

https://teams.microsoft.com/l/message/19:237e5c752d7a43e99c1407f52e285a58@thread.tacv2/1611328617397?tenantId=67610027-1ac3-49b6-8641-ccd83ce1b01f&groupId=b0af851f-e38b-47f3-9361-a98e71eea998&parentMessageId=1611328617397&teamName=%5B126736%5D%20Compiler%20Construction&channelName=General&createdTime=1611328617397

 

Best regards,

the CC team

Exam Attendance Poll

Written on 22.01.21 by Matthis Kruse

Hi all,

we ask you kindly to fill out a poll until no later than 27.01.2021 regarding your willingness to take the exam: 

Read more

Course Evaluation

Written on 11.01.21 by Fabian Ritter

Hi all,

today starts the course evaluation phase, where the students are asked to share what they did or did not like about the course. Please participate in the short anonymous survey via the links on this page. The survey is open until 29 Jan 2021.

Your participation helps us to improve the… Read more

Hi all,

today starts the course evaluation phase, where the students are asked to share what they did or did not like about the course. Please participate in the short anonymous survey via the links on this page. The survey is open until 29 Jan 2021.

Your participation helps us to improve the course in future iterations.

Project Phase 5 and Hard Project Deadline

Written on 08.01.21 by Fabian Ritter

The project assignment for the fifth phase of the project, the LLVM IR Generation, and the IR Generation examples are now available on the Materials page. The daily tests for this phase will run together with those for the previous phases from tonight on.
Please remember to first merge in the newest… Read more

The project assignment for the fifth phase of the project, the LLVM IR Generation, and the IR Generation examples are now available on the Materials page. The daily tests for this phase will run together with those for the previous phases from tonight on.
Please remember to first merge in the newest version of the project template to get the up-to-date build script for LLVM.

We now also have a date for the final hard project deadline: Your work on the project must be completed before 23:59:59 CET on 5 March 2021.
 

Changes in Lecture Schedule

Written on 07.01.21 by Sebastian Hack

Because of scheduling conflicts, I need to cancel tromorrow's lecture (we have enough time to cover the material in the remaining sessions) and change the time of the lecture of Tuesday 2021-01-19 from 16:00 to 15:00.

 

Sorry for the inconveniences,

Sebastian

Availability of Exercise Sheet Solutions

Written on 18.12.20 by Matthis Kruse

Hi all,

We have decided to change the time at which exercise solutions become available. The new time is each Wednesday, 8AM.

Since the solutions will be made available prior to the tutorials, the tutors won't discuss the solutions anymore in an explicit manner.
However, we encourage you to… Read more

Hi all,

We have decided to change the time at which exercise solutions become available. The new time is each Wednesday, 8AM.

Since the solutions will be made available prior to the tutorials, the tutors won't discuss the solutions anymore in an explicit manner.
However, we encourage you to still join and use the opportunity to have fruitful discussions about potential difficulties you might encounter when solving the exercise sheets or understanding the solutions.
Additionally, also note that you may still discuss any project-specific matters with your tutors.

We hope you have a nice Christmas holiday despite the circumstances,
the CC team

Project Phase 4

Written on 16.12.20 by Fabian Ritter

The project assignment for the fourth phase of the project, the semantic analysis, is now available on the Materials page. The daily tests for this phase will run together with those for the previous phases from tonight on.

Project Phase 3

Written on 04.12.20 by Fabian Ritter

The project assignment for the third phase of the project, the AST pretty printer, is now available on the Materials page. The daily tests for this phase will run together with those for the previous phases from tonight on.

Project Phase 2

Written on 18.11.20 by Fabian Ritter

The project assignment for the second phase of the project, the parser, is now available on the Materials page. The daily tests for this phase will run together with those for the lexer from tonight on.

Option to submit your exercise sheet solution in the CMS

Written on 13.11.20 by Matthis Kruse

Hi all,

We've added the option to upload your solution for the voluntary exercise sheet on your personal status page.
This way, getting feedback for it might become easier than by mail.

We wish you a nice weekend,
the CC team

Tutorials and Project Testing

Written on 10.11.20 by Fabian Ritter

You can now see the assignment to the tutorials on your personal status page in the CMS.
The first tutorials will be held on Thursday in their MS Teams channels at 14:15 CET (Tutorial 1) or 16:15 CET (Tutorial 2), respectively.

Additionally, the daily project test runs have started, you can track… Read more

You can now see the assignment to the tutorials on your personal status page in the CMS.
The first tutorials will be held on Thursday in their MS Teams channels at 14:15 CET (Tutorial 1) or 16:15 CET (Tutorial 2), respectively.

Additionally, the daily project test runs have started, you can track the progress of all teams on this website.
Lastly, you now have access to the test-collection/tests project in the GitLab. You can use this repository to share the tests that you write for your compiler with the other groups.

Wrapping up the Group Finding Phase

Written on 09.11.20 by Fabian Ritter

The group finding phase ends today. If you are still looking for a project group or if you are a group of two that would like to split the work among more people, please send a short mail to Fabian Ritter as soon as possible so that we can assign you to a group.

First exercise sheet and project assignment available

Written on 06.11.20 by Matthis Kruse

Please note that the first exercise sheet and the first project assignments are available now on the Materials page. Do not forget to follow the How to attend and find a project team until Monday, e.g. using our teams chat.

 

We wish you a nice weekend,

the CC team

Group Finding and Project Registration

Written on 05.11.20 by Fabian Ritter

Hi all,

please remember to form project groups of 2 to 3 students until Monday, 9 Nov. Use the Group Finding channel in Teams to connect with fellow students and follow the instructions on the How to Attend page to register your GitLab group in time.

Additionally, to make up for the lost lecture… Read more

Hi all,

please remember to form project groups of 2 to 3 students until Monday, 9 Nov. Use the Group Finding channel in Teams to connect with fellow students and follow the instructions on the How to Attend page to register your GitLab group in time.

Additionally, to make up for the lost lecture room conversations, we will have a virtual group finding event this Friday after the lecture. Instructions for joining will be announced in the Teams chat.

See you there,

the CC team

First Compiler Construction Lecture

Written on 02.11.20 by Fabian Ritter

Hi all,

the first lecture will be tomorrow, on Tuesday, 3 Nov, at 16:00 (c.t., CET) via MS Teams. If you haven't joined yet, please make sure that you join the Team early enough so that you can participate.

See you in the lecture,

the CC team

Welcome to the Course

Written on 19.10.20 by Fabian Ritter

Welcome to this year's Compiler Construction Core Lecture at Saarland University.

If you consider participating in the course, please register here and in the corresponding Team in time for the first lecture.

Have a great semester!

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

  • Place: Online (via Microsoft Teams)
  • Time: Tuesday 16-18 (c.t.) and Friday 10-12 (c.t.) CET
  • First Meeting: Tuesday 2020-11-03, 16-18 (c.t.) CET
  • c.t. = cum tempore = an old tradition of some European universities.
    Here, it means that the actual time is the announced time +15 minutes

If you are interested in participating but not enrolled at Saarland University, please send a mail with a few words about your background to Sebastian Hack to get access to the course.

 

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.