htw saar Piktogramm QR-encoded URL
Zurück zur Hauptseite Version des Moduls auswählen:
Lernziele hervorheben XML-Code


Compilerbau

Modulbezeichnung:
Bezeichnung des Moduls innerhalb des Studiengangs. Sie soll eine präzise und verständliche Überschrift des Modulinhalts darstellen.
Compilerbau
Modulbezeichnung (engl.): Compiler Construction
Studiengang:
Studiengang mit Beginn der Gültigkeit der betreffenden ASPO-Anlage/Studienordnung des Studiengangs, in dem dieses Modul zum Studienprogramm gehört (=Start der ersten Erstsemester-Kohorte, die nach dieser Ordnung studiert).
Kommunikationsinformatik, Bachelor, ASPO 01.10.2022
Code: KIB-CBAU
SAP-Submodul-Nr.:
Die Prüfungsverwaltung mittels SAP-SLCM vergibt für jede Prüfungsart in einem Modul eine SAP-Submodul-Nr (= P-Nummer). Gleiche Module in unterschiedlichen Studiengängen haben bei gleicher Prüfungsart die gleiche SAP-Submodul-Nr..
P221-0067
SWS/Lehrform:
Die Anzahl der Semesterwochenstunden (SWS) wird als Zusammensetzung von Vorlesungsstunden (V), Übungsstunden (U), Praktikumsstunden (P) oder Projektarbeitsstunden (PA) angegeben. Beispielsweise besteht eine Veranstaltung der Form 2V+2U aus 2 Vorlesungsstunden und 2 Übungsstunden pro Woche.
2V+2P (4 Semesterwochenstunden)
ECTS-Punkte:
Die Anzahl der Punkte nach ECTS (Leistungspunkte, Kreditpunkte), die dem Studierenden bei erfolgreicher Ableistung des Moduls gutgeschrieben werden. Die ECTS-Punkte entscheiden über die Gewichtung des Fachs bei der Berechnung der Durchschnittsnote im Abschlusszeugnis. Jedem ECTS-Punkt entsprechen 30 studentische Arbeitsstunden (Anwesenheit, Vor- und Nachbereitung, Prüfungsvorbereitung, ggfs. Zeit zur Bearbeitung eines Projekts), verteilt über die gesamte Zeit des Semesters (26 Wochen).
5
Studiensemester: 5
Pflichtfach: nein
Arbeitssprache:
Deutsch
Prüfungsart:
mündliche Prüfung, Projektarbeit, Präsentation

[letzte Änderung 12.10.2007]
Verwendbarkeit / Zuordnung zum Curriculum:
Alle Studienprogramme, die das Modul enthalten mit Jahresangabe der entsprechenden Studienordnung / ASPO-Anlage.

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
Arbeitsaufwand:
Der Arbeitsaufwand des Studierenden, der für das erfolgreiche Absolvieren eines Moduls notwendig ist, ergibt sich aus den ECTS-Punkten. Jeder ECTS-Punkt steht in der Regel für 30 Arbeitsstunden. Die Arbeitsstunden umfassen Präsenzzeit (in den Vorlesungswochen), Vor- und Nachbereitung der Vorlesung, ggfs. Abfassung einer Projektarbeit und die Vorbereitung auf die Prüfung.

Die ECTS beziehen sich auf die gesamte formale Semesterdauer (01.04.-30.09. im Sommersemester, 01.10.-31.03. im Wintersemester).
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):
Keine.
Als Vorkenntnis empfohlen für Module:
Modulverantwortung:
Prof. Dr. Markus Esch
Dozent/innen: Prof. Dr. Markus Esch

[letzte Änderung 01.10.2022]
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.

[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:
WS 2024/25, WS 2023/24
[Fri Dec 27 02:29:56 CET 2024, CKEY=cbau, BKEY=ki3, CID=KIB-CBAU, LANGUAGE=de, DATE=27.12.2024]