|
Modulbezeichnung (engl.):
Compiler Construction |
|
Code: KI675 |
2V+2P (4 Semesterwochenstunden) |
5 |
Studiensemester: 5 |
Pflichtfach: nein |
Arbeitssprache:
Deutsch |
Prüfungsart:
mündliche Prüfung, Projektarbeit, Präsentation
[letzte Änderung 12.10.2007]
|
KI675 Kommunikationsinformatik, Bachelor, ASPO 01.10.2014
, 5. Semester, Wahlpflichtfach, technisch
KIB-CBAU (P221-0067) Kommunikationsinformatik, Bachelor, ASPO 01.10.2021
, 5. Semester, Wahlpflichtfach, technisch
KIB-CBAU (P221-0067) Kommunikationsinformatik, Bachelor, ASPO 01.10.2022
, 5. Semester, Wahlpflichtfach, technisch
PIBWI55 Praktische Informatik, Bachelor, ASPO 01.10.2011
, 5. Semester, Wahlpflichtfach, informatikspezifisch
PIB-CBAU Praktische Informatik, Bachelor, ASPO 01.10.2022
, 5. Semester, Wahlpflichtfach, informatikspezifisch
|
Die Präsenzzeit dieses Moduls umfasst bei 15 Semesterwochen 60 Veranstaltungsstunden (= 45 Zeitstunden). Der Gesamtumfang des Moduls beträgt bei 5 Creditpoints 150 Stunden (30 Std/ECTS). Daher stehen für die Vor- und Nachbereitung der Veranstaltung zusammen mit der Prüfungsvorbereitung 105 Stunden zur Verfügung.
|
Empfohlene Voraussetzungen (Module):
KI100 Programmierung 1 KI200 Programmierung 2 KI210 Informatik 2 KI586 Theoretische Informatik
[letzte Änderung 22.01.2018]
|
Als Vorkenntnis empfohlen für Module:
|
Modulverantwortung:
Prof. Dr. Markus Esch |
Dozent/innen: Thorsten Jakobs, M.Sc.
[letzte Änderung 26.09.2007]
|
Lernziele:
Lernziele: Einlesen und ggf. Übersetzen eigener Dateiformate sind grundlegende Arbeiten, mit denen Informatiker und Programmierer regelmäßig konfrontiert werden. Anhand des typischen Aufbaus eines Compilers sollen die Studierenden die einzelnen Schritte des Einlesens, Analysierens und Übersetzens einer (formalen) Sprache (Quellsprache) in eine weitere (formale) Sprache (Zielsprache) kennenlernen, verstehen und in einem eigenen Projekt anwenden: - Kennenlernen der einzelnen Module eines Compilers/Übersetzers. - Verstehen, wie Lexer und Parser arbeiten und aus Spezifikationen automatisch generiert werden können. - Am Beispiel C-nach-CMa nachvollziehen, wie Codeerzeugungsschritte Hochsprache auf Assemblersprache abbilden. - Kennenlernen der wichtigsten Programmanalysen und -optimierungen, die Compiler in der Regel durchführen (Verfügbare Ausdrücke, Intervallanalyse, Konstantenpropagation, Tote Variablen, usw.). In der Projektarbeit entwicklen die Studierenden einen eigenen Compiler für eine selbst entworfene Programmiersprache. [OE+0+0+2+0+0+0=2]
[letzte Änderung 04.07.2023]
|
Inhalt:
1. Einleitung (Höhere Programmiersprachen, Implementierung von Programmiersprachen) 2. Lexing 3. Parsing 4. Codeerzeugung 5. Codeoptimierung 6. Projektarbeit
[letzte Änderung 29.06.2023]
|
Literatur:
A. AHO, R. SETHI, J. ULLMAN: Compilers R. WILHELM, D. Maurer: Übersetzerbau: Theorie, Konstruktion, Generierung R. WILHELM, H. SEIDL: Übersetzerbau. Virtuelle Maschinen H. SEIDL, R. WILHELM, S. HACK: Compiler Design: Syntactic and Semantic Analysis H. SEIDL, R. WILHELM, S. HACK: Übersetzerbau. Analyse und Transformation
[letzte Änderung 29.06.2023]
|
Modul angeboten in Semester:
SS 2019,
WS 2018/19,
SS 2018,
WS 2015/16,
WS 2014/15,
...
|