LV Com­piler Con­struc­tion (Bach­el­or, sum­mer semester 2024)

Compilers are a central component of many programming languages. They influence the language design and specification, the development of programs and their runtime behaviour. The (automated) construction of good compilers is therefore important for the correctness, efficiency and effectiveness of programmes.
The lecture Compiler Construction combines formal and concrete aspects of the typical structure and functionality of a compiler for different source, target and intermediate languages. The exercise deepens both the theoretical content of the lecture and offers a practical part in which students develop their own source language and associated modular compiler for a given target architecture and apply it to their own example programmes.

The course includes the following content:

  • Basic knowledge of the structure and operation of compilers
  • Understanding of the necessity and problems of the individual compilation phases
  • Application of knowledge from theoretical and technical computer science
  • Understanding of the effort required for the translation time and runtime of various language constructs
  • Lexical and syntactic analysis with top-down and bottom-up parsers
  • Error handling, concrete and abstract syntax
  • Semantic analysis with inference rules and attributed grammars
  • Name and type analysis
  • Intermediate and machine languages
  • Translation of variables, expressions, instructions, procedures, object-oriented programmes
  • Optimisation and garbage collection

Im­port­ant or­gan­isa­tion­al mat­ters

An oral examination is required to complete the module.

You will receive more information about the procedure in the first lecture. This will take place on Tuesday, 16 April 2024 at 1 pm in room F 0 530 .

Link to the PANDA course: panda.uni-paderborn.de/course/view.php

Dates

Lecture (Dr. Sebastian Krieter )

  • Time: Friday, 11 am - 1 pm
  • Room: F 1 110

Exercise (Paul Bittner)

  • Time: Thursday, 1 pm - 4 pm
  • Room: F 1 110