Compiler Construction Sebastian Hack Core Lecture (9 CP)

News

02.02.2023

Today's Lecture moved to next Tuesday

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

27.01.2023

Last Assignments

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

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

10.01.2023

Course Evaluation

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!

06.01.2023

New Project Assignment and New Exercise Sheet

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

22.11.2022

Today's lecture cancelled

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

10.11.2022

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

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

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.

03.11.2022

Today's lecture cancelled

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.

02.11.2022

First Tutorials

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

28.10.2022

Exercise Sheet and Project Assignment Available

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.

25.10.2022

Welcome!

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