CS1019 Compilerbau

Modulverantwortliche
  • Prof. Dr. Uwe Meyer
Lehrende
  • Björn Lötters
  • Prof. Dr. Uwe Meyer
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

Fachkompetenzen

Die Studierenden können

  • wichtige Programmiersprachen-Konzepte erklären.
  • Aufbau und Funktion von Compilern erklären.
  • Compilerbau-Werkzeuge nutzen und den Bezug zur Automatentheorie einordnen.

Methodenkompetenzen (fachlich & überfachlich)

Die Studierenden können

  • einfache Sprachen implementieren.
  • komplexe Datenstrukturen verarbeiten.
  • Entwurfsmuster anwenden.
  • Maschinenprogramme interpretieren und erzeugen.
  • ein komplexes Projekt organisieren.

Sozialkompetenzen

  • Sie können im Team kooperieren.

Selbstkompetenzen

  • Sie können formale Sprachdefinitionen ableiten, einordnen und selbst entwickeln.
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, ggf. 12 (Teilleistungen), ggf. 18 (Arbeiten, Kolloquien) der Allgemeinen Bestimmungen (Teil I der Prüfungsordnung).
Verwendbarkeit
Gemäß § 5 der Allgemeinen Bestimmungen (Teil I der Prüfungsordnung) Verwendbarkeit in allen Bachelorstudiengänge der THM möglich.
Literatur, Medien
  • Mitchell, J.: Concepts in Programming Languages. Cambridge University Press.
  • Ullman, J.; Lam, M.; Sethi, R.; Aho, A.: Compiler : . Prinzipien, Techniken und Werkzeuge. Pearson Studium – IT.
  • Appel, W.: Modern Compiler Implementation in Java. Cambridge University Press.
  • Grune, D.; Bal, H. E.; Jacobs, J. H.; Langendoen, K. G.: Modern Compiler Design. John Wiley.

Rechtliche Hinweise