CS5368 Compilerbau: Spracherweiterung und Bootstrapping
- Prof. Dr. Hellwig Geisse
- Prof. Dr. Hellwig Geisse
Keine
Gute Kenntnisse im Compilerbau und systemnaher Programmierung
In einem Projekt wird ein vorhandener Compiler in seiner eigenen Quellsprache re-implementiert. Dazu sind Spracherweiterungen nötig, die auch Auswirkungen auf die Werkzeugkette haben. Alle Teilaufgaben werden durch Gruppen von Teilnehmern bearbeitet, die gemeinsam das Gesamtprojekt realisieren.
- Konzept des Bootstrappings
- Analyse der vorhandenen Sprachkonstrukte
- Erweiterbare Records
- Modulkonzept, getrennte Übersetzung
- Syntax und Semantik der neuen Konstrukte
- Typsicherheit bei getrennter Übersetzung
- Positionsunabhängiger Code
- Dynamisches Binden und Laden
- Koordination Compiler/Assembler/Binder
- Transkription des vorhandenen Compilers
Fachkompetenzen
- Die Studierenden können die Bedeutung des Bootstrappings im Compilerbau beschreiben.
- Sie können die Voraussetzungen für die Durchführung des Verfahrens benennen und sind in der Lage, evtl. nötige Spracherweiterungen zu spezifizieren, zu implementieren, und ihren Einfluss auf die Werkzeugkette zu berücksichtigen.
Methodenkompetenzen (fachlich & überfachlich)
- Die Studierenden sind in der Lage, den Aufwand für einen Compiler-Bootstrap abzuschätzen.
Sozialkompetenzen
- Die Studierenden sind in der Lage, eigenverantwortlich Arbeiten im Team durchzuführen.
- Sie können Aufgaben in Gruppenarbeit gemeinsam konstruktiv lösen und sich gegenseitig unterstützen.
Selbstkompetenzen
- Die Studierenden können ihren Lernfortschritt reflektieren und ihr Lernverhalten anpassen.
- 6 CrP
- Arbeitsaufwand 180 Std.
- Präsenzzeit 60 Std.
- Selbststudium 120 Std.
- 4 SWS
- Seminaristischer Unterricht 2SWS
- Praktikum 2SWS
- Informatik (M.Sc. 2010)
Nein
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üfungsvorleistung : Keine
Prüfungsleistung: Entwicklung in der Informatik
- Wirth, N.: Project Oberon. https://people.inf.ethz.ch/wirth/ProjectOberon
- Levine, J. R.: Linkers and Loaders. Morgan Kaufmann.
Rechtliche Hinweise
- Diese Informationen geben den in den Online-Diensten für Studierende erfassten Datenbestand wieder.
- Die rechtskräftigen und damit verbindlichen Fassungen der Modulhandbücher finden Sie im Amtlichen Mitteilungsblatt der THM (AMB).
- Alle gültigen Prüfungsbestimmungen für die THM-Studiengänge können Sie außerdem in komfortabler Leseversion über den Downloadbereich auf der Homepage des Prüfungsamts einsehen.