Hauptinhalt

CS 551 — Compilerbau
(engl. Compiler Construction)

Niveaustufe, Verpflichtungsgrad Vertiefungsmodul, Wahlpflichtmodul
Lehr- und Lernformen,
Arbeitsaufwand
Vorlesung (4 SWS), Übung (2 SWS),
270 Stunden (90 Std. Präsenzzeit, 180 Std. Selbststudium)
Leistungspunkte,
Voraussetzungen zum Erwerb
9 LP
Studienleistung(en): Erreichen von mindestens 50 Prozent der Punkte aus den wöchentlich zu bearbeitenden Übungsaufgaben und mündliche Präsentation der Lösung von mindestens zwei der Übungsaufgaben.
Prüfungsleistung: Klausur oder mündliche Prüfung (Einzelprüfung)
Sprache,
Benotung
Englisch,
Die Benotung erfolgt mit 0 bis 15 Punkten gemäß der Prüfungsordnung für den Studiengang M.Sc. Informatik.
Dauer des Moduls,
Häufigkeit
Ein Semester,
Regelmäßig alle 3 bis 4 Semester
Modulverantwortliche(r) Prof. Dr. Christoph Bockisch

Inhalt

Compiler übersetzen Programme aus höheren Programmiersprachen in ausführbaren Maschinencode. In der Vorlesung werden Konzepte und Methoden, die für die verschiedenen Phasen von Compilern entwickelt wurden, vor- und gegenübergestellt:

  • Lexikalische Analyse: reguläre Ausdrücke, endliche Automaten, flm-Prinzip, Scannergeneratoren
  • Syntaktische Analyse: Kontextfreie Grammatiken, RD-Parsing mit LL(k)- Grammatiken, SR-Parsing mit LR(k)-Grammatiken, Präzedenz-gesteuerte Parser, Parsergeneratoren;
  • Semantische Analyse mit Attributgrammatiken
  • Zwischencode-Erzeugung
  • Code-Optimierung

Qualifikationsziele

Die Studierenden

  • kennen die Unterscheidung verschiedener Aspekte von Programmiersprachen (Lexik, Syntax, Semantik, Pragmatik),
  • haben Kenntnisse über den Aufbau von Compilern und Compilerphasen,
  • verstehen Werkzeuge zur Compilererzeugung und können diese anwenden,
  • kennen Grundprinzipien der Codeerzeugung, der denotationellen Semantik und abstrakter Maschinen,
  • können einzelner Teile eines Compilers programmieren,
  • sind in der Lage, wissenschaftliche Arbeitsweisen beim eigenständigen Erkennen, Formulieren und Lösen von Problemen anzuwenden,
  • sind in der Lage über wissenschaftliche Inhalte frei zu sprechen, sowohl vor einem Publikum als auch in einer Diskussion.

Voraussetzungen

Keine. Empfohlen werden die Kompetenzen, die in dem Modul Theoretische Informatik vermittelt werden.


Verwendbarkeit

Importmodul aus dem M.Sc. Informatik.

Es kann im FB12 verwendet werden im Studiengang bzw. in den Studiengängen

  • B.Sc. Informatik
  • M.Sc. Informatik
  • M.Sc. Mathematik
  • LAaG Informatik

Im Studiengang M.Sc. Mathematik kann das Modul im Studienbereich Profilbereich Informatik absolviert werden.


Literatur

  • Drachenbuch: Aho/Sethi/Ullman: Compilers — Principles, Techniques, and Tools, Addison-Wesley 1986
  • Waite/Goos: Compiler Construction, Springer Verlag 1994
  • Wilhelm/Maurer: Übersetzerbau: Theorie, Konstruktion, Generierung, Springer Verlag 1992
  • Appel: Modern Compiler Implementation in ML/Java/C++, Addison-Wesley 1998



Bitte beachten Sie:

Diese Seite beschreibt ein Modul gemäß dem im Wintersemester 2023/24 aktuellsten gültigen Modulhandbuch. Die meisten für ein Modul gültigen Regeln werden nicht durch die Prüfungsordnung festgelegt, und können daher von Semester zu Semester aktualisiert werden. Folgende Versionen liegen im Online-Modulhandbuch vor:

Das Modulhandbuch enthält alle Module, unabhängig vom aktuellen Veranstaltungsangebot, vergleichen Sie dazu bitte das aktuelle Vorlesungsverzeichnis in Marvin.

Die Angaben im Online-Modulhandbuch wurden automatisch erstellt. Rechtsverbindlich sind die Angaben der Prüfungsordnung. Wenn Ihnen Unstimmigkeiten oder Fehler auffallen, sind wir für Hinweise dankbar.