Stud.IP Uni Oldenburg
Universität Oldenburg
26.09.2021 00:18:47
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
  • Fach-Bachelor Informatik (Bachelor) > Aufbaumodule
  • Master of Education (Gymnasium) Informatik (Master of Education) > Mastermodule
Zuständige Personen
Lehrenden, Die im Modul (Prüfungsberechtigt)
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 jährlich
Aufnahmekapazität Modul unbegrenzt
Modullevel / module level AS (Akzentsetzung / Accentuation)
Modulart / typ of module Wahlpflicht / Elective
Lehr-/Lernform / Teaching/Learning method V+Ü
Vorkenntnisse / Previous knowledge 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