Generierung portabler Compiler : das portable System POCO
著者
書誌事項
Generierung portabler Compiler : das portable System POCO
(Informatik-Fachberichte, 164)
Springer-Verlag, c1988
- : U.S.
- : Germany
大学図書館所蔵 全2件
  青森
  岩手
  宮城
  秋田
  山形
  福島
  茨城
  栃木
  群馬
  埼玉
  千葉
  東京
  神奈川
  新潟
  富山
  石川
  福井
  山梨
  長野
  岐阜
  静岡
  愛知
  三重
  滋賀
  京都
  大阪
  兵庫
  奈良
  和歌山
  鳥取
  島根
  岡山
  広島
  山口
  徳島
  香川
  愛媛
  高知
  福岡
  佐賀
  長崎
  熊本
  大分
  宮崎
  鹿児島
  沖縄
  韓国
  中国
  タイ
  イギリス
  ドイツ
  スイス
  フランス
  ベルギー
  オランダ
  スウェーデン
  ノルウェー
  アメリカ
注記
Bibliography: p. [220]-235
内容説明・目次
内容説明
Das vorliegende Buch, das aus der Saarbrucker Dissertation des Verfassers entstanden ist, beschreibt ein konkretes System zur automatischen Generierung von Compilern. Das System ist fur die Anwendung in der Praxis konzipiert. Es werden die Entwurfskriterien, die zu dem System gefuhrt haben, und die vollstandige 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 lauffahiger Compiler) werden detailliert erlautert. Es werden Ergebnisse prasentiert, die durch praktische Anwendung des Systems erhalten wurden. Schwerpunkt des Buches ist die Generierung portabler Compiler. Dieses Ziel ist ein Entwurfskriterium fur das System und wird durch die direkte Generierung von Compiler-Komponenten in Zwischensprachform erreicht. Als Zwischensprache wurde aus mehreren Kandidaten p-Code gewahlt. Es wird gezeigt, dass die direkte Generierung eines Compilers eine Reihe von Optimierungen zulasst; sie lassen sich aus Informationen ableiten, die auf Generatorebene zur Verfugung stehen. Diese Optimierungen bewirken sowohl Laufzeit- als auch Speicherplatzreduktionen im generierten Compiler.
目次
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 fur POCO.- 2.2.1. UEberlegungen bzgl. der Generator-Struktur.- 2.2.2. Ein Typenkonzept fur die semantischen Attribute.- 2.2.3. Das Modularitatskonzept auf der Ebene der generierten Compiler.- 2.2.4. Die Wahl einer geeigneten Implementierungssprache.- 2.2.5. Portabilitat.- 3. Software-Portabilitat.- 3.1. Das UEbertragungsproblem.- 3.2. Portabilitat unter Verwendung hoeherer Programmiersprachen.- 3.3. Compiler-Portabilitat.- 3.3.1. Bootstrapping.- 3.3.2. Portierung uber Zwischensprachen.- 3.3.2.1. Das UNCOL-Konzept.- 3.3.2.2. Maschinen- und sprachspezifische Zwischensprachen.- 3.3.2.3. Niveau und (Rest-) Maschinenabhangigkeit 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 fur 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-Maschinenabhangigkeiten in p-Code.- 6.2.3. Zwei Beispiele fur die Verwendung von p-Code.- 6.3. Die Eignung von p-Code im Rahmen der POCO-Konzeption.- 6.4. Das Portierungsverfahren fur das System und die generierten Compiler.- 6.4.1. Der Portierungsaufwand auf der Generierungsmaschine.- 6.4.1.1. Behandlung von Zeichensatz und typabhangiger Speicherplatzzuordnung.- 6.4.1.2. Das Binden der separat compilierten Moduln.- 6.4.1.2.1. Zur Code-Generierung fur Moduln.- 6.4.1.2.2. Die Funktionsweise des maschinenunabhangigen Binders.- 6.4.1.3. Zusammenfassung des Portierungsaufwands auf der Generierungsmaschine.- 6.4.2. Der Portierungsaufwand auf der Zielmaschine.- 6.4.3. Eine Schatzung 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 fur den Zugriff auf Analyse-Matrix-Positionen.- 7.1.1.3. Spezielle Code-Schemata fur 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 Ermoeglichung 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 gemass den beschriebenen Methoden.- 7.2. Direkte Generierung des Attribut-UEbergabe-Moduls als p-Code-Segment.- 7.2.1. Typabhangige 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 fur eine Eingabe in der Generator-Eingabesprache.- E: Liste der POCO-Fehlermeldungen.- F: ASCII-Zeichensatz.- G: Hinweise zur Bedienung des Generators.
「Nielsen BookData」 より