inf019 - Compilerbau (Vollständige Modulbeschreibung)

inf019 - Compilerbau (Vollständige Modulbeschreibung)

Originalfassung Englisch PDF Download
Modulbezeichnung Compilerbau
Modulkürzel inf019
Kreditpunkte 6.0 KP
Workload 180 h
Einrichtungsverzeichnis Department für Informatik
Verwendbarkeit des Moduls
  • Master of Education (Gymnasium) Informatik (Master of Education) > Wahlpflichtmodule (Praktische Informatik)
Zuständige Personen
  • Lehrenden, Die im Modul (Prüfungsberechtigt)
  • Vogel-Sonnenschein, Ute (Modulverantwortung)
Teilnahmevoraussetzungen
Kompetenzziele
**Fachkompetenzen** Die Studierenden: - benennen die Struktur eines Compilers und die Aufgaben der einzelnen Phasen der Compilierung einer Programmiersprache - beschreiben gängige Methoden aus allen Phasen eines Compilers - verstehen und bewerten typische Eigenschaften sowie Vor und Nachteile verschiedener Methoden in den Phasen eines Compilers - wenden die gelernten Methoden zu den einzelnen Compilierungsphasen praktisch an - bewerten den Einsatz eines Compilergenerators **Methodenkompetenzen** Die Studierenden: - erkennen die Verbindungen von Konzepten aus Automatentheorie und formalen Sprachen zum Compilerbau **Sozialkompetenzen** Die Studierenden: - erarbeiten Lösungen zu kleinen Aufgaben in Teams von 2-3 Studierenden und präsentieren diese **Selbstkompetenzen** Die Studierenden: - reflektieren ihr Lernverhalten bezüglich komplexer Verfahren
Modulinhalte
Das Modul behandelt alle Phasen eines "klassischen" Compilers: Scanner, Parser, semantische Analyse, Zwischencodegenerierung, Codeoptimierung und Maschinencodegenerierung. Zu jeder Phase werden gängige Methoden vorgestellt, wobei zum Parsing auch alternative Ansätze (LL-Parser vs. LR-Parser) vorgestellt werden. Auch im Bereich der Codeoptimierung werden zur Registeroptimierung verschiedene Verfahren mit unterschiedlichen Voraussetzungen vorgestellt. Der Aufbau der Vorlesung folgt im Wesentlichen dem Buch von Aho, Lam, Sethi, Ullman, das als Compilerbauklassiker gelten darf. In der Übung und dem angeschlossenen kleinen Praktikum werden die vorgestellten Methoden an kleinen Beispielen, die die Studierenden selbständig durchführen müssen, praktisch vertieft. Dabei findet in einigen Teilen auch ein Compilergenerator (typischerweise ANTLR) Verwendung, um den Studierenden den praktischen Nutzen eines solchen Tools zu demonstrieren.
Literaturempfehlungen
**Essentiell:** - Folienskript (wird über das StudIP fortlaufend in der Vorlesung zur Verfügung gestellt) **Empfohlen:** - Aho, Lam, Sethi, Ullman: Compilers. Principles, Techniques, and Tools
Links
Unterrichtssprache Deutsch
Dauer in Semestern 1 Semester
Angebotsrhythmus Modul
Aufnahmekapazität Modul unbegrenzt
Modulart Wahlpflicht / Elective
Modullevel AS (Akzentsetzung / Accentuation)
Lehr-/Lernform V+Ü
Vorkenntnisse Theoretische Informatik II
Lehrveranstaltungsform Kommentar SWS Angebotsrhythmus Workload Präsenz
Vorlesung 2 WiSe 28
Übung 2 WiSe 28
Präsenzzeit Modul insgesamt 56 h
Prüfung Prüfungszeiten Prüfungsform
Gesamtmodul
Am Ende der Vorlesungszeit
Mündliche Prüfung