Universität Paderborn - Home Universität Paderborn
Die Universität der Informationsgesellschaft

Compilation Methods SS 2013 - Kastens / Übersetzerbau - Contents

Kastens / Übersetzerbau - Contents

Handbuch der Informatik 3.3
Oldenbourg, 1990

1. Einführung
1.1 Von der Quellsprache zur Zielmaschine
1.2 Eigenschaften der Quellsprache
1.2.1 Notation der Grundsymbole
1.2.2 Syntaktische Struktur
1.2.3 Kontextabhängigkeiten (statische Semantik)
1.2.4 Bedeutung (dynamische Semantik)
1.3 Eigenschaften der Zielmaschine
2. Übersetzerstruktur und Schnittstellen
2.1 Aufgabenorientierte Übersetzerstruktur
2.1.1 Analyse
2.1.2 Abstrakte Maschine, Zwischensprache
2.1.3 Synthese
2.2 Schnittstellen
2.2.1 Filter
2.2.2 Datenmodule
2.2.3 Übersetzerpässe
2.3 Portierung von Übersetzern
2.4 Übersetzerumgebung
2.5 Übersetzergeneratoren
3. Lexikalische Analyse
3.1 Spezifikation von Grundsymbolen
3.2 Konstruktion endlicher Automaten
3.3 Implementierung der Lexikalischen Analyse
3.3.1 Rahmen und Schnittstellen
3.3.2 Implementierung des endlichen Automaten
3.4 Generatoren
4. Syntaktische Analyse
4.1 Kontextfreie Grammatiken, abstrakte und konkrete Syntax
4.2 Zielbezogene Zerteiler
4.3 Quellbezogene Zerteiler
4.4 Behandlung syntaktischer Fehler
4.5 Zerteiler-Generatoren
5. Attributierte Grammatiken
5.1 Definition und Beispiel
5.2 Konstruktion von Attributauswertern
5.2.1 Abhängigkeitsgraphen und Zerlegungen
5.2.2 Besuchssequenzen
5.2.3 LAG - Attributauswerter
5.3 Implementierung von Attributauswertern
5.4 Generatoren für Attributauswerter
6. Semantische Analyse
6.1 Typprüfung
6.2 Bezeichneridentifikation
6.2.1 Attributierung von Gültigkeitsbereichen
6.2.2 Implementierung der Bezeichneridentifikation
6.3 Fehlerbehandlung
6.4 Zwischen-Code-Erzeugung
7. Code-Erzeugung
7.1 Eigenschaften der Zielmaschine
7.1.1 Speicherklassen
7.1.2 Operanden und Adressierungsarten
7.1.3 Instruktionen
7.2 Speicherabbildung
7.2.1 Datentypen
7.2.2 Maschinenzustand
7.3 Abbildung der Operationen
7.3.1 Prozeduraufrufe
7.3.2 Ablaufstrukturen
7.3.3 Kurzauswertung logischer Ausdrück
7.3.4 Ausdrücke
7.4 Code-Auswahl
7.4.1 Ausdrucksbäume
7.4.2 Ablaufstrukturen
7.4.3 Generatoren zur Code-Auswahl
7.5 Registerzuteilung
7.5.1 Registerzuteilung in einem Durchgang
7.5.2 Registerzuteilung für Grundblöcke in zwei Durchgängen
7.5.3 Optimale Registerzuteilung für Ausdrucksbäume
7.5.4 Registerzuteilung durch Graphfärbung
7.6 Assemblierung
7.6.1 Formatierung der Instruktionen
7.6.2 Sprungadressierung
7.6.3 Code-Datei
8. Optimierung
8.1 Verbessernde Transformationen in Grundblöcken
8.1.1 Konstantenfaltung und algebraische Vereinfachung
8.1.2 Eliminieren von Bereichsprüfungen
8.1.3 Gemeinsame Teilausdrücke
8.1.4 Überflüssige Zuweisungen
8.2 Datenflußanalyse
8.2.1 Ablaufgraphen
8.2.2 Schleifenerkennung
8.2.3 Code-Verschiebung aus Schleifen
8.2.4 Datenflußgleichungen
8.2.5 Iteratives Lösungsverfahren
8.2.6 Hierarchische Lösungsverfahren
8.3 Anwendungen der Datenflußinformation
8.3.1 Erreichende Definitionen
8.3.2 Globale gemeinsame Ausdrücke
8.3.3 Lebendige Variable
8.3.4 Redundante Berechnungen in Schleifen
8.3.5 Aliasnamen
8.3.6 Prozeduren
8.4 Nachoptimierung
8.5 Anordnung von Instruktionen
8.5.1 Parallele Funktionseinheiten
8.5.2 Fließbandverarbeitung
Anhang
1. Literaturhinweise
2. Literaturverzeichnis

Generiert mit Camelot | Probleme mit Camelot? | Geändert am: 12.06.2013