Compiler Construction

The introductory lecture will be held at 04. November, 10:15-11:45. You can access the BigBlueButton room for the lecture from Moodle.

Requirements

This lecture is for bachelor and master students of the fields Computer Science (Informatik), Media Informatics (Medieninformatik), and Software Engineering.

Having attended the following courses is required:

  • Fundamentals of theoretical and technical computer science (cf. Formal Foundations and Foundations of Computer Architecture)
  • Object-oriented programming (cf. Interactive Systems Programming)

Learning Objectives

  • Basic knowledge of the structure and functioning of compilers
  • Understand the necessity and the problems of the individual phases of compilation
  • Application of knowledge from theoretical and technical computer science
  • Understanding of the time and effort involved in translating various language constructs

Content

  • Structure and functionality of compilers
  • Lexical analysis
  • 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, objectoriented programs
  • Optimizations and garbage collection

Schedule

Lecture: Asynchronous

Exercise: Wednesday 10:15-11:45 (digital)