Compilerbau

Fakultät

Fakultät Ingenieurwissenschaften und Informatik (IuI)

Version

Version 1 vom 23.01.2026.

Modulkennung

11M0662

Niveaustufe

Master

Unterrichtssprache

Deutsch

ECTS-Leistungspunkte und Benotung

5.0

Häufigkeit des Angebots des Moduls

unregelmäßig

Dauer des Moduls

1 Semester

 

 

Kurzbeschreibung

Die Konstruktion von Übersetzern (Compilern) ist eine alte und reife, aber immer noch aktuelle Disziplin der Informatik. Sie verbindet wie kaum eine andere Disziplin theoretische, praktische und technische Informatik. Formale Sprachen und Automatentheorie sind ebenso wichtig wie die Architektur der Zielprozessoren und Fragen des Entwurfs eines großen Software-Systems. Compilerbau-Techniken und -Werkzeuge sind auch dann nützlich, wenn man keinen vollständigen Übersetzer entwickeln will - beispielsweise zum Parsen unterschiedlichster Text- und Dateiformate, bei der Programmparallelisierung, -analyse und -optimierung oder bei der Entwicklung domain-spezifischer Sprachen im Software- und Hardware-Bereich.

Lehr-Lerninhalte

  1. Grundlagen
  2. Lexikalische Analyse
  3. Syntaktische Analyse
  4. Semantische Analyse
  5. Zwischencode-Erzeugung
  6. Code-Generierung
  7. Weiterführende Themen

Gesamtarbeitsaufwand

Der Arbeitsaufwand für das Modul umfasst insgesamt 150 Stunden (siehe auch "ECTS-Leistungspunkte und Benotung").

Lehr- und Lernformen
Dozentengebundenes Lernen
Std. WorkloadLehrtypMediale UmsetzungKonkretisierung
30Vorlesung-
15Übung-
Dozentenungebundenes Lernen
Std. WorkloadLehrtypMediale UmsetzungKonkretisierung
45Veranstaltungsvor- und -nachbereitung-
15Literaturstudium-
30Prüfungsvorbereitung-
15Arbeit in Kleingruppen-
Benotete Prüfungsleistung
  • mündliche Prüfung oder
  • Klausur oder
  • Projektbericht (schriftlich)
Unbenotete Prüfungsleistung
  • experimentelle Arbeit
Bemerkung zur Prüfungsart

Die Prüfungsform wird vom Dozenten gewählt (Klausur, mündl. Prüfung oder Projektbericht). Für das Praktikum gibt es einen Leistungsnachweis (in Form einer Experimentellen Arbeit).

Prüfungsdauer und Prüfungsumfang

Benotete Prüfungsleistung

  • Projektbericht (schriftlich): ca. 15-20 Seiten ; Erläuterung: ca. 20 Minuten
  • mündliche Prüfung: siehe Allgemeiner Teil der Prüfungsordnung
  • Klausur: siehe Studienordnung

Unbenotete Prüfungsleistung

  • Experimentelle Arbeit: insgesamt ca. 9 Versuche

Empfohlene Vorkenntnisse

In dem Modul werden Kenntnisse in Programmierung und Software Engineering sowie Grundkenntnisse der Technischen Informatik (Rechnerarchitektur oder Mikrorechnertechnik) vorausgesetzt.

Wissensverbreiterung

Die Studierenden erhalten in diesem Modul ein breites Wissen über die Konstruktion von Compilern. Sie haben einen Überblick über die gesamte Übersetzung von der lexikalischen Analyse bis zur Codegenerierung.

Wissensvertiefung

Die Studierenden vertiefen in diesem Modul ihr Wissen über Programmiersprachen, formale Sprachen und Prozessor-Befehlssätze. Sie erhalten ein tiefergehendes Verständnis über die Zusammenhänge zwischen Sprachen (Hochsprachen, Assemblersprachen), Automatentheorie und Compilern.

Wissensverständnis

Die Studierenden kennen verschiedene Klassen formaler Sprachen und die zugehörigen Verfahren und Algorithmen. Diese können zur Entwicklung von Compilern oder anderen Programmen zur Analyse und Verarbeitung textueller Daten eingesetzt werden.

Literatur

  • A. V. Aho, M. S. Lam, R. Sethi, J. D. Ullman: "Compilers: Principles, Techniques, and Tools", Addison-Wesley Longman, 2nd ed. 2006
  • A. W. Appel, M. Ginsburg: "Modern Compiler Implementation in C", Cambridge University Press, 2004
  • W. M. Waite, G. Goos: "Compiler Construction", Springer, 1985
  • U. Kastens: "Übersetzerbau", Oldenbourg, 1990

Verwendbarkeit nach Studiengängen

  • Informatik
    • Informatik M.Sc. (01.09.2025)

    Modulpromotor*in
    • Weinhardt, Markus
    Lehrende
    • Weinhardt, Markus