Compiler Construction Sebastian Hack Core Lecture (9 CP)

News

18.11.2020

Project Phase 2

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.

13.11.2020

Option to submit your exercise sheet solution in the CMS

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

10.11.2020

Tutorials and Project Testing

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... 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.

09.11.2020

Wrapping up the Group Finding Phase

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.

06.11.2020

First exercise sheet and project assignment available

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... Read more

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

05.11.2020

Group Finding and Project Registration

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... 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

02.11.2020

First Compiler Construction Lecture

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

19.10.2020

Welcome to the Course

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