Warenkorb
 

>> Jetzt abräumen - Buch-Schnäppchen unter 5 EUR*

Generierung portabler Compiler

Das portable System POCO

Das vorliegende Buch, das aus der Saarbrücker Dissertation des Verfassers entstanden ist, beschreibt ein konkretes System zur automatischen Generierung von Compilern. Das System ist für die Anwendung in der Praxis konzipiert. Es werden die Entwurfskriterien, die zu dem System geführt haben, und die vollständige Realisierung des Generators dargestellt. Aus der Struktur und der Funktionsweise von Compilern werden die Komponenten eines Compiler-Generators abgeleitet. Die Generierungsverfahren und die zugrundeliegenden theoretischen Konzepte werden vorgestellt. Die Spezifikation einer Programmiersprache (als Eingabe in den Generator) und die vom Generator erzeugte Ausgabe (ein lauffähiger Compiler) werden detailliert erläutert. Es werden Ergebnisse präsentiert, die durch praktische Anwendung des Systems erhalten wurden. Schwerpunkt des Buches ist die Generierung portabler Compiler. Dieses Ziel ist ein Entwurfskriterium für das System und wird durch die direkte Generierung von Compiler-Komponenten in Zwischensprachform erreicht. Als Zwischensprache wurde aus mehreren Kandidaten p-Code gewählt. Es wird gezeigt, daß die direkte Generierung eines Compilers eine Reihe von Optimierungen zuläßt; sie lassen sich aus Informationen ableiten, die auf Generatorebene zur Verfügung stehen. Diese Optimierungen bewirken sowohl Laufzeit- als auch Speicherplatzreduktionen im generierten Compiler.
… weiterlesen
  • Artikelbild-0
  • 0. Compiler-Generierende Systeme.- 1. Definitionen und Grundlagen.- 1.1. Kontextfreie Grammatik.- 1.2. LR-Parser.- 1.3. Attributierte Grammatiken.- 2. Das Compiler-Generierende System POCO: Die Konzeption.- 2.1. Das Vorbild: MUG1.- 2.2. Zieldefinition für POCO.- 2.2.1. Überlegungen bzgl. der Generator-Struktur.- 2.2.2. Ein Typenkonzept für die semantischen Attribute.- 2.2.3. Das Modularitätskonzept auf der Ebene der generierten Compiler.- 2.2.4. Die Wahl einer geeigneten Implementierungssprache.- 2.2.5. Portabilität.- 3. Software-Portabilität.- 3.1. Das Übertragungsproblem.- 3.2. Portabilität unter Verwendung höherer Programmiersprachen.- 3.3. Compiler-Portabilität.- 3.3.1. Bootstrapping.- 3.3.2. Portierung über Zwischensprachen.- 3.3.2.1. Das UNCOL-Konzept.- 3.3.2.2. Maschinen- und sprachspezifische Zwischensprachen.- 3.3.2.3. Niveau und (Rest-) Maschinenabhängigkeit von Zwischensprachen.- 3.3.3. Ein Vergleich moderner Zwischensprachen.- 3.4. Fazit.- 4. Eine Erweiterung der Programmiersprache PASCAL um das Sprachkonstrukt Modul.- 4.1. Das Sprachkonzept Modul.- 4.1.1. Zur Syntax und Semantik von Moduln.- 4.1.2. Separate Compilierung von Moduln.- 4.2. Das Modul-Konzept im Rahmen des CGS POCO.- 5. Das CGS POCO: Die Realisierung.- 5.1. Struktur und Funktionsweise von POCO.- 5.2. Die Generator-Eingabe-Sprache(GES).- 5.3. Die Komponenten des CGS.- 5.3.1. Der Grammatik-Leser.- 5.3.2. Der Scanner-Generator.- 5.3.3. Der Parser-Generator.- 5.3.3.1. Die Generierung einer Compile-Zeit- Fehlerbehandlung.- 5.3.3.2. Struktur der generierten Parser.- 5.3.4. Der Generator der Compile-Zeit- Attributberechnung.- 5.3.4.1. Die Realisierung der Grammatik-Transformation.- 5.3.4.2. Die Berechnung der Attributkeller-Operationen.- 5.3.4.3. Struktur des generierten Attribut-Behandlungs-Moduls.- 5.4. Die Struktur der generierten Compiler.- 5.5. Zusammenfassung.- 6. Die gemeinsame Portierungsschnittstelle für das Generator-System und die generierten Compiler.- 6.1. Die Portierungsaufgabe.- 6.2. Das Portierungsverfahren.- 6.2.1. Die p-Code-Stack-Maschine.- 6.2.2. Rest-Maschinenabhängigkeiten in p-Code.- 6.2.3. Zwei Beispiele für die Verwendung von p-Code.- 6.3. Die Eignung von p-Code im Rahmen der POCO-Konzeption.- 6.4. Das Portierungsverfahren für das System und die generierten Compiler.- 6.4.1. Der Portierungsaufwand auf der Generierungsmaschine.- 6.4.1.1. Behandlung von Zeichensatz und typabhängiger Speicherplatzzuordnung.- 6.4.1.2. Das Binden der separat compilierten Moduln.- 6.4.1.2.1. Zur Code-Generierung für Moduln.- 6.4.1.2.2. Die Funktionsweise des maschinenunabhängigen Binders.- 6.4.1.3. Zusammenfassung des Portierungsaufwands auf der Generierungsmaschine.- 6.4.2. Der Portierungsaufwand auf der Zielmaschine.- 6.4.3. Eine Schätzung des Portierungsaufwands.- 7. Direkte Generierung der Standard-Compiler-Moduln in Form von p-Code-Programmen.- 7.1. Direkte Generierung der Parse-Tabellen in Form von p-Code-Segmenten.- 7.1.1. Unmittelbare Umsetzung der ACTION-Tabelle in ein programmstrukturiertes p-Code-Segment.- 7.1.1.1. Direkte Generierung von Zuweisungen der Information der Analyse-Matrix.- 7.1.1.2. Geeignete Schemata für den Zugriff auf Analyse-Matrix-Positionen.- 7.1.1.3. Spezielle Code-Schemata für das innere case-Statement.- 7.1.2. Erzeugung der ACTION-Tafel als programmstrukturiertes p-Code-Segment unter Zuhilfenahme einer internen Tabellenumformung.- 7.1.2.1. Generierung von Code mit Hilfe der Tabellenstruktur.- 7.1.3. Tabellenstrukturierte Umsetzung der ACTION-Tabelle in p-Code.- 7.1.3.1. Eine einfache Erweiterung von p-Code zur Ermöglichung der Ablage konstanter Tabellen im Konstantenspeicher.- 7.1.3.2. Ablage generierter Tabellen im Datenspeicher der p-Maschine.- 7.1.3.2.1. Initialisierung der Tabellen durch Feldzugriffe.- 7.1.3.2.2. Ablage der Tabellen im Datenspeicher unter Ausnutzung der p-Maschinen-Stack-Architektur.- 7.1.4. Ein Vergleich der Ergebnisse bei direkter Generierung von p-Code gemäß den beschriebenen Methoden.- 7.2. Direkte Generierung des Attribut-Übergabe-Moduls als p-Code-Segment.- 7.2.1. Typabhängige Vergabe von Attributkeller-Adressen bei direkter p-Code-Generierung.- 7.2.2. Die direkte Erzeugung der charakteristischen AK-Operationen in p-Code.- 8. Zusammenfassung und Ausblick.- A: p-Code-Instruktionssatz in alphabetischer Ordnung.- B: Syntax der POCO-Eingabesprache.- C: Syntax der POCO-Eingabesprache (Syntax-Diagramme).- D: Beispiel für eine Eingabe in der Generator-Eingabesprache.- E: Liste der POCO-Fehlermeldungen.- F: ASCII-Zeichensatz.- G: Hinweise zur Bedienung des Generators.
In den Warenkorb

Beschreibung

Produktdetails

Einband Taschenbuch
Seitenzahl 235
Erscheinungsdatum 23.03.1988
Sprache Deutsch
ISBN 978-3-540-18937-4
Verlag Springer
Maße (L/B/H) 24,9/16,9/1,7 cm
Gewicht 445 g
Abbildungen 2 schwarzweisse Abbildungen
Buch (Taschenbuch)
Buch (Taschenbuch)
56,53
56,53
inkl. gesetzl. MwSt.
inkl. gesetzl. MwSt.
Versandfertig in 4 - 6 Tagen Versandkostenfrei
Versandfertig in 4 - 6 Tagen
Versandkostenfrei
In den Warenkorb
Vielen Dank für Ihr Feedback!
Entschuldigung, beim Absenden Ihres Feedbacks ist ein Fehler passiert. Bitte versuchen Sie es erneut.
Ihr Feedback zur Seite
Haben Sie alle relevanten Informationen erhalten?

Kundenbewertungen

Es wurden noch keine Bewertungen geschrieben.