Grundlagen des Übersetzerbaus
Die Vorlesung behandelt alle Aspekte der Konstruktion eines Übersetzers für eine konventionelle imperative Sprache (wie etwa Pascal) mit Nachdruck auf einer fundierten theoretischen Grundlage, einer systematischen Konstruktion von Übersetzerkomponenten und, soweit angebracht, auf deren Generierung. Die einzelnen Themen sind:
- Prinzip der Übersetzung einer Pascal-ähnlichen Sprache in Code für eine abstrakte Kellermaschine (P-Maschine)
- lexikalische Analyse (Erzeugung von Analysatoren basierend auf deterministischen endlichen Automaten aus erweiterten regulären Ausdrücken)
- verschiedene Parsing-Techniken (für kontextfreie Grammatiken) mit einem Schwerpunkt auf LL- und LR-Techniken (einschließlich Fehlerbehandlung)
- semantische Analyse auf der Grundlage von Attributgrammatiken
- Einführung in die maschinenunabhängige Optimierung
- Codeerzeugung für CISC- und RISC-Architekturen (einschließlich Codeselektion, Registerzuordnung, maschinenabhängige Optimierung und Instruktionsanordnung)
Vorlesungsunterlagen
- Einleitung (2.0 MB)
- Imperative Sprachen (Teil 1) (2.6 MB)
- Imperative Sprachen (Teil 2) (2.6 MB)
- Lexikalische Analyse (2.0 MB)
- Syntaktische Analyse (Teil 1) (2.1 MB)
- Syntaktische Analyse (Teil 2) (3.1 MB)
- Syntaktische Analyse (Teil 3) (2.7 MB)
- Semantische Analyse (Teil 1) (1.9 MB)
- Semantische Analyse (Teil 2) (2.1 MB)
- Maschinenunabhängige Codeverbesserung (0.5 MB)
- Codeerzeugung (Teil 1) (1.5 MB)
- Codeerzeugung (Teil 2) (1.4 MB)
Termin
Dienstag 10-12 Uhr in O28-1002
Mittwoch 10-12 Uhr in O28-1002