Compilerbau

Modulnummer
CS1019
Modulverantwortlicher
  • Michael Jäger
Dozent
  • Hellwig Geisse
  • Michael Jäger
  • Thomas Karl Letschert
Kurzbeschreibung
Die Veranstaltung vermittelt wichtige Konzepte moderner Programmiersprachen und der Entwicklung von Compilern unter Verwendung von Compilergeneratoren.
Qualifikations- und Lernziele

Wichtige Programmiersprachen-Konzepte verstehen.
Aufbau und Funktion von Compilern verstehen. Formale Sprachdefinitionen verstehen und selbst entwickeln. Compilerbau-Werkzeuge nutzen und Bezug zu Automatentheorie verstehen. Einfache Sprachen implementieren. Komplexe Datenstrukturen verarbeiten. Entwurfsmuster anwenden. Maschinenprogramme verstehen und erzeugen. Ein komplexes Projekt organisieren. Im Team kooperieren.

Lerninhalte
  • Lexikalische, syntaktische und semantische Analyse: Theoretisches Fundament (Automaten, Sprachen, Chomsky-Hierarchie) und Implementierung
  • Wichtige Konzepte moderner Programmiersprachen
  • Scanner- und Parsergeneratoren: Funktion und Anwendung
  • Compilerarchitektur
  • Laufzeit-Organisation
  • Codegenerierung für Stackmaschine und einfache RISC-Plattform
Moduldauer (Semester)
1
Unterrichtssprache
Deutsch
Gesamtaufwand
6.0 CrP; 180 Stunden, davon etwa 90 Stunden Präsenzzeit.
Semesterwochenstunden
6
Lernformen

Vorlesung 4 SWS, Praktikum 2 SWS

Geprüfte Leistung

Prüfungsvorleistung: Projekt

Prüfungsleistung: Klausur oder mündliche Prüfung (Art des Leistungsnachweises wird den Studierenden rechtzeitig und in geeigneter Weise bekannt gegeben)

Bewertungsstandard

Bewertung der Prüfungsleistung nach § 9 der allgemeinen Bestimmungen für Bachelorprüfungsordnungen

Bonuspunkte
keine
Häufigkeit des Angebots
Jedes Semester
Literatur
  • J. Mitchell: Concepts in Programming Languages Cambridge University Press
  • Ullman, Lam, Sethi, Aho: Compiler: Prinzipien, Techniken und Werkzeuge Pearson Studium – IT
  • W. Appel: Modern Compiler Implementation in Java Cambridge University Press
  • D. Grune, H. E. Bal, J. H. Jacobs, K. G. Langendoen: Modern Compiler Design John Wiley
Voraussetzung für Module