Core Lecture Compiler Construction

Winter term 2007/2008

Prof. Dr. R. Wilhelm, Dipl.-Inform. G. Gebhard, M.Sc. S. Altmeyer


News

Date Events
15.02.2008
  • Example solution for last exercise sheet available.
14.02.2008
  • Updated version of last lecture slides.
  • List of students admitted to the final exam is now online.
  • A list of master's and bachelor thesis is available on our homepage. If you are interested in a master's thesis in the area of compiler construction please have a look at: Register Coalescing for SSA-Form Programs.
13.02.2008
  • New lecture slides (software pipelining and real compilers) online.
08.02.2008
  • Example solution to exercise sheet 9 is now online.

Important Dates

  • First Tutorial: Friday 02.11.2007 at 12:00
  • First Lecture: Wednesday 24.10.2007 at 08:00
  • Exam: Wednesday 27.02.2008 from 09:00 to 11:00

Exam Admittance

Student ID
2015354
2017149
2031543
2500245
2500995
2501061
2501174
2501309
2501515
2505102
2505373
2505498
2507170
2509107
2509500
2509732
2512816
2513098
2520177
2520892

Exercises

Lecture Notes

General Information

  • Type: core lecture (9 credit points)
  • Place: HS 003, E1 3
  • Date: Wednesday and Friday, 08:00-10:00
  • Tutorial: Monday (Group A) and Friday (Group B), 12-14 in E1 3 at SR 14
  • Exam: 27.02.2008 09:00-11:00

For the theoretical exercises, group work is not permitted. However, for the course project, students are allowed and encouraged to form groups of up to three people.

You may submit your solutions via email, either send them directly to the corresponding tutor or the tutor mailing list (not the students mailing list).

For further information send mail to: altmeyer (at) cs (dot) uni-sb (dot) de

Project Information

In this section you'll find information regarding the course project. At this place, you can download an implementation of the CMa alongside with some examples and the specification of the CMa implementation and of the project.

You will find the compiler skeleton we provide you with in your group SVN account.

Tutorials

Group A
Sebastian Altmeyer
Mon, 12-14
E1 3, SR14
Group B
Gernot Gebhard
Fri, 12-14
E1 3, SR14
Hoen, Johannes
Kalojanov, Javor
Karrenberg, Ralf
Kinuwaki, Shin-Ichi
Kunz, Michael
Kyle, Stephen
Scharfstein, Andi
Schwarz, Dennis
Thiele, Markus
Wieder, Alexander
Zacharias, Jan
Adam, Roman
Anastasatos, Vasileios
Danilweski, Piotr
Eigner, Thomas
Gogolok, Robert
Götzmann, Daniel Norbert
Grewe, Dominik
Marold, Verena
Math, Rafael Tobias
Mirold, Michael
Moldovan-Tiglar, Daniela
Neis, Georg
Norbach, Christian
Reischuk, Raphael
Rizkallah, Christine
Setz, Jochen
Stattelmann, Stefan

Contact

Course Certificate

To get a course certificate students must

  • get at least 50% of the homework assignments,
  • implement a working ANSI C compiler for a virtual machine, and
  • pass the exam at the end of the term.

Grades will be based on the exam and on the project.

Contents

The course treats compiler construction for imperative programming languages, lexical, syntax, and semantic analysis, static program analysis and optimization, code generation and instruction scheduling. This course provides all necessary theoretical knowledge required to implement a compiler from scratch - this forms the practical part of the lecture.

Literature

  • Gary H. Merrill. Parsing Non-LR(k) Grammars with Yacc.
    Software - Practice and Experience, 23(8):829-850, 1993.
  • Wilhelm, R., Maurer, D., Übersetzerbau
    Springer; Berlin, 2nd Print, 1997. ISBN 3-540-61692-6.
  • Wilhelm, R., Maurer, D., Compiler Design
    Addison-Wesley; Essex, 2nd Print, 1996. ISBN 0-201-42290-5.
  • Wilhelm, R., Seidl, H., Übersetzerbau - Virtuelle Maschinen
    Springer; Berlin, 1st Print, 2007. ISBN 978-3-540-49596-3.

Last Modification: 09/28/14