MLU
INF.05353.03 - Übersetzerbau I (Vollständige Modulbeschreibung)
Originalfassung Englisch
INF.05353.03 5 CP
Modulbezeichnung Übersetzerbau I
Modulcode INF.05353.03
Semester der erstmaligen Durchführung
Fachbereich/Institut Institut für Informatik
Verwendet in Studiengängen / Semestern
  • Informatik (MA120 LP) (Master) > Informatik InformatikMA120, Akkreditierungsfassung (WS 2013/14 - SS 2016) > Basismodule der Vertiefungsrichtung `Softwaretechnik und Übersetzerbau`
  • Informatik (MA120 LP) (Master) > Informatik InformatikMA120, Akkreditierungsfassung (WS 2013/14 - SS 2016) > Vertiefende Module der Vertiefungsrichtung `eHumanities`
  • Informatik (MA120 LP) (Master) > Informatik InformatikMA120, Akkreditierungsfassung (WS 2016/17 - WS 2022/23) > Basismodule der Vertiefungsrichtung `Softwaretechnik und Übersetzerbau`
  • Informatik (MA120 LP) (Master) > Informatik InformatikMA120, Akkreditierungsfassung (WS 2016/17 - WS 2022/23) > Vertiefende Module der Vertiefungsrichtung `eHumanities`
  • Wirtschaftsinformatik (Business Information Systems) (MA120 LP) (Master) > Wirtschaftsinformatik WirtschaftsinformatMA120, Akkreditierungsfassung gültig ab WS 2020/21 > 2.2 Informatik
  • Wirtschaftsinformatik (Business Information Systems) (MA120 LP) (Master) > Wirtschaftsinformatik WirtschaftsinformatMA120, Akkreditierungsfassung (SS 2016 - SS 2020) > II. Wahlbereich Informatik
Modulverantwortliche/r
Weitere verantwortliche Personen
Prof. Dr. Wolf Zimmermann
Teilnahmevoraussetzungen
Kompetenzziele
Dieses Modul soll die TeilnehmerInnen befähigen, Übersetzer sowie andere Programme, die textuelle oder visuelle Eingaben verarbeiten, mit Hilfe von Werkzeugen zu erstellen und deren Grundlagen zu verstehen. Insbesondere sollen auch Grundlagen zur Erstellung von Softwareentwicklungswerkzeugen gelegt werden.
Modulinhalte
Übersetzertechnologie ist die Grundlagentechnologie für die Konstruktion von Softwarewerkzeugen. Dies reicht von Analysewerkzeugen in Entwicklungsumgebungen über Modell-basierte Codegeneratoren (im Zusammenhang mit Modell-basierter Entwicklung) bis hin zu klassischen Übersetzern. Es wird gezeigt, dass die Konstruktion von Übersetzern selbst ein frühes Beispiel von Modell-basierter Entwicklung ist. Deshalb wird u.A. auch die Generierung von Übersetzern und Analysewerkzeugen behandelt. Wann immer eine Anwendung textuelle Eingaben verarbeiten muss, ist die Analyse der grammatikalischen Strukturen (Syntaxanalyse), deren Bedeutung (semantische Analyse) und die Generierung von Information (Back-End) notwendig. Während die ersten beiden Aufgaben genereller Natur für aller Arten textueller Eingaben sind, ist die Informationsgenerierung von der konkreten Anwendung abhängig. Daher vermittelt das Modul nicht nur Kenntnisse in klassischer Übersetzertechnologie sondern legt auch die Basis für die Konstruktion von Werkzeugen zur Verarbeitung textueller Information.
1. Korrektheit und Architekturen von Übersetzern: Korrektheitsbegriff aus wissenschaftlicher Sicht, Unterschied Übersetzer-Interpretierer, Architekturen von Übersetzern und Softwarewerkzeuge, Übersetzertechnologie in Modell-basierten Codegeneratoren, Einsatz von Übersetzertechnologie in anderen Disziplinen.
2. Sprach- und Maschineneigenschaften: Konzepte höherer Programmiersprachen sowie Maschinensprachen und deren Auswirkung auf Übersetzerkonstruktion
3. Zwischensprachen: technische und wissenschaftliche Begründungen zur Einführung von Zwischensprachen. Grundsymbolfolgen, abstrakte und attributierte Syntaxbäume, Kontrollflussgraphen und Sichten auf diesen, Zielbaum, Binärcode
4. Lexikalische Analyse: Schnittstellen, Grundlagen der Generierung der lexikalischen Analyse aus regulären Ausdrücken, Praxisprobleme bei endlichen Automaten und deren Lösung
5. Syntaxanalyse: Top-Down und Bottom-Up Syntaxanalyse; LL(k)- und SLL(k) Grammatiken; LR(k)-, SLR(k)- und LALR(k)-Grammatiken. Wissenschaftliche Grundlagen der Generierung/Implementierung von Top-Down-Parsern (aus SLL(1)-Grammatiken) und Bottom-Up-Parsern (aus LALR(1)-Grammatiken). Integration von Fehlerbehandlung in die Syntaxanalyse, Integration des Aufbau des abstrakten Syntaxbaums in die Syntaxanalyse
6. Semantische Analyse: Attributierte Grammatiken und deren Teilklassen, wissenschaftliche Grundlagen der Generierung von Auswertern für geordnete attributierte Grammatiken. Verwendung attributierte Grammatiken für Namensanalyse, Typanalyse und Operatoridentifikation. Definitionstabellen und deren Implementierung.
7. Zwischencodeerzeugung: Wissenschaftliche Grundlagen und Konzepte von Baumtransformationen. Spezifikation der Zwischencodeerzeugung durch Baumtransformationen. Generierung der Zwischencodeerzeugung aus Baumtransformationen.
8. Codeerzeugung: Spezifikation der Codeerzeugung durch Makroexpansion, Entscheidungstabellen und Termersetzungssystemen. Wissenschaftlich-theoretische Grundlagen der Termersetzungssysteme: reguläre Baumgrammatiken und -automaten. Generierung der Codeerzeugung unter Optimalitätskriterien. Registerzuteilungsverfahren.
9. Assemblierung: Laden und Binden. Überführung in Binärcode.
Lehrveranstaltungsformen Vorlesung (3 SWS)
Übung (1 SWS)
Kursus
Unterrichtsprachen Deutsch, Englisch
Dauer in Semestern 1 Semester Semester
Angebotsrhythmus Modul jedes Wintersemester
Aufnahmekapazität Modul unbegrenzt
Prüfungsebene
Credit-Points 5 CP
Modulabschlussnote LV 1: %; LV 2: %; LV 3: %.
Faktor der Modulnote für die Endnote des Studiengangs 1
Hinweise
Basismodul für die Vertiefungsrichtung "Softwaretechnik und Übersetzerbau", vertiefendes Modul für die Vertiefungsrichtung "eHumanities"
Modulveran­staltung Lehrveranstaltungs­form Veranstaltungs­titel SWS Workload Präsenz Workload Vor- / Nach­bereitung Workload selbstge­staltete Arbeit Workload Prüfung incl. Vorbereitung Workload Summe
LV 1 Vorlesung Vorlesung 3 0
LV 2 Übung Übung 1 0
LV 3 Kursus Selbststudium und Bearbeitung der Übungsaufgaben 0
Workload modulbezogen 150 150
Workload Modul insgesamt 150
Prüfung Prüfungsvorleistung Prüfungsform
LV 1
LV 2
LV 3
Gesamtmodul
Mindestens 50% der Punkte aus den Übungsblättern zu Übersetzerbau I
mündl./schriftl./elektron. Prüfung
Wiederholungsprüfung
Regularien Teilnahme­voraussetzungen Angebots­rhythmus Anwesenheits­pflicht Gewicht an Modulnote in %
LV 1 Wintersemester Nein %
LV 2 Wintersemester Nein %
LV 3 Wintersemester Nein %