CS1019 Compilerbau

Modulverantwortliche
  • Prof. Dr. Uwe Meyer
Lehrende
  • Prof. Dr. Hellwig Geisse
  • Prof. Dr. Uwe Meyer
Notwendige Voraussetzungen zur Teilnahme

Algorithmen und Datenstrukturen (CS1017), Programmierung interaktiver Systeme (CS1016)

Vorausgesetzte Module
Kurzbeschreibung
Die Veranstaltung vermittelt wichtige Konzepte moderner Programmiersprachen und der Entwicklung von Compilern unter Verwendung von Compilergeneratoren.
Inhalte
  • 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
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.

ECTS-Leistungspunkte (CrP)
  • 6 CrP
  • Arbeitsaufwand 180 Std.
  • Präsenzzeit 90 Std.
  • Selbststudium 90 Std.
Lehr- und Lernformen
  • 6 SWS
  • Vorlesung 4 SWS
  • Praktikum 2 SWS
Studiensemester
  • Informatik (B.Sc. 2010) - 3. Semester
  • Ingenieur-Informatik (B.Sc. 2010)
Dauer
1 Semester
Häufigkeit des Angebots
Jedes Semester
Unterrichtssprache
Deutsch
Bonuspunkte

Ja

Bonuspunkte werden gemäß § 9 (4) der Allgemeinen Bestimmungen vergeben. Art und Weise der Zusatzleistungen wird den Studierenden zu Veranstaltungsbeginn rechtzeitig und in geeigneter Art und Weise mitgeteilt.

Prüfungsleistungen

Prüfungsvorleistung: Projekt

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

Benotung
Die Bewertung des Moduls erfolgt gemäß § 9 der Allgemeinen Bestimmungen (Teil I der Prüfungsordnung).
Literatur, Medien
  • 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

Rechtliche Hinweise