LV Compilerbau (Bachelor, Sommersemester 2024)

Compiler sind ein zentraler Bestandteil vieler Programmiersprachen. Sie beeinflussen das Sprachdesign und -spezifikation, die Entwicklung von Programmen und das Laufzeitverhalten dieser. Die (automatisierte) Konstruktion von guten Compilern ist daher wichtig für die Korrektheit, Effizienz und Effektivität von Programmen.
Die Vorlesung Compilerbau verbindet formale und konkrete Aspekte für den typischen Aufbau und die Funktionsweise eines Compilers für unterschiedliche Quell-, Ziel-, und Zwischensprachen. Die Übung vertieft sowohl die theoretische Inhalte der Vorlesung und bietet einen praktischen Teil, in dem Studierende eine eigene Quellsprache und dazu gehörenden modularen Compiler für eine gegebene Zielarchitektur entwickeln und diesen auf eigene Beispielprogramme anwenden.

Die Veranstaltung umfasst folgende Inhalte:

  • Grundlegende Kenntnisse über den Aufbau und die Arbeitsweise von Compilern
  • Verständnis für die Notwendigkeit und die Probleme der einzelnen Compilierungsphasen
  • Anwendung von Wissen aus der theoretischen und technischen Informatik
  • Verständnis über den Aufwand zur Übersetzungszeit und Laufzeit von verschiedenen Sprachkonstrukten
  • Lexikalische und syntaktische Analyse mit Top-Down und Bottom-Up Parsern
  • Fehlerbehandlung, konkrete und abstrakte Syntax
  • Semantische Analyse mit Inferenzregeln und attributierten Grammatiken
  • Namens- und Typanalyse
  • Zwischen- und Maschinensprachen
  • Übersetzung von Variablen, Ausdrücken, Anweisungen, Prozeduren, objektorientierten Programmen
  • Optimierungen und Garbage Collection

Wichtiges Organisatorisches

Für den Abschluss des Moduls ist eine mündliche Prüfung nötig.

Mehr Informationen zum Ablauf erhalten Sie in der ersten Vorlesung. Diese findet am Dienstag, den 18.04.2024 um 13 Uhr in Raum F1 110 statt.

Link zum PANDA-Kurs: panda.uni-paderborn.de/course/view.php

Termine

Vorlesung (Dr. Sebastian Krieter )

  • Zeit: Freitag, 11:15 - 12:45 Uhr
  • Raum: F 1 110

Übung (Paul Bittner)

  • Zeit: Donnerstag, 13:15 - 15:45 Uhr
  • Raum: F 1 110