Martin Erwig: Übersetzerbau
Übersetzerbau
Buch
- Techniken, Werkzeuge, Anwendungen
- Springer Berlin, 06/1999
- Einband: Kartoniert / Broschiert, Paperback
- Sprache: Deutsch
- ISBN-13: 9783540653899
- Bestellnummer: 6456414
- Umfang: 384 Seiten
- Sonstiges: 10 SW-Abb.,
- Auflage: 1999
- Copyright-Jahr: 1999
- Gewicht: 579 g
- Maße: 235 x 155 mm
- Stärke: 20 mm
- Erscheinungstermin: 21.6.1999
- Serie: Springer-Lehrbuch
Beschreibung
Das Buch bietet eine kompakte Einführung in die Grundlagen und Techniken des Übersetzerbaus. Übersetzer transformieren Texte einer Quellsprache, deren Struktur durch eine formale Grammatik beschrieben ist, in eine Zielsprache. Die Übersetzung imperativer Programmiersprachen in Maschinensprache ist dabei nur ein Spezialfall. Dieses Lehrbuch betont die vielseitige Verwendbarkeit von Übersetzerbau-Techniken. Insbesondere kann man mit Methoden der Syntaxanalyse Strukturen in Texten, Dateien oder Byte-Strömen identifizieren. Ein weiterer Schwerpunkt liegt in der Verbindung von Theorie und Praxis und der Einübung der Benutzung von Werkzeugen wie Lex und Yacc. So wird u. a. die vollständige Implementierung eines Übersetzers einer einfachen Dokument-Beschreibungssprache nach LaTeX vorgeführt. Angemessen berücksichtigt wird auch die Implementierung imperativer und funktionaler Sprachen. Das didaktisch ansprechende Buch enthält Übungsaufgaben mit Lösungen und ist auch zum Selbststudium geeignet. Das Buch bietet eine kompakte Einführung in die Grundlagen und Techniken des Übersetzerbaus. Übersetzer transformieren Texte einer Quellsprache, deren Struktur durch eine formale Grammatik beschrieben ist, in eine Zielsprache. Die Übersetzung imperativer Programmiersprachen in Maschinensprache ist dabei nur ein Spezialfall. Dieses Lehrbuch betont die vielseitige Verwendbarkeit von Übersetzerbau-Techniken. Insbesondere kann man mit Methoden der Syntaxanalyse Strukturen in Texten, Dateien oder Byte-Strömen identifizieren. Ein weiterer Schwerpunkt liegt in der Verbindung von Theorie und Praxis und der Einübung der Benutzung von Werkzeugen wie Lex und Yacc. So wird u. a. die vollständige Implementierung eines Übersetzers einer einfachen Dokument-Beschreibungssprache nach LaTeX vorgeführt. Angemessen berücksichtigt wird auch die Implementierung imperativer und funktionaler Sprachen. Das Buch ist didaktisch ansprechend konzipiert und eignet sich zum Selbststudium; dies wird auch durch in den Text eingestreute Aufgaben mit Lösungen am Ende des Buches unterstützt.Inhaltsangabe
1 Einführung.- 1.1 Anwendungsgebiete.- 1.2 Übersetzungsphasen.- 1.3 Die Systemumgebung des Compilers.- 1.4 Compiler und Interpreter, reale und abstrakte Maschinen.- 1.5 Werkzeuge.- 1.6 Struktur des Buches.- 1.7 Literaturhinweise.- 2 Lexikalische Analyse.- 2.1 Beschreibung von Token durch reguläre Ausdrücke.- 2.2 Beschreibung von Token durch Zustandsdiagramme.- 2.3 Direkte Implementierung eines Scanners.- 2.4 Implementierung eines Scanners mit Lex.- 2.5 Aufgaben.- 2.6 Literaturhinweise.- 3 Syntaxanalyse.- 3.1 Kontextfreie Grammatiken und Syntaxbäume.- 3.2 Top-down-Analyse.- 3.2.1 Das Prinzip der Top-down-Analyse.- 3.2.2 LL(k)-Grammatiken.- 3.2.3 Berechnung von FIRST- und FOLLOW-Mengen, Modifikation von Grammatiken.- 3.2.4 Implementierung eines vorgreifenden Analysators mit Analysetabelle.- 3.2.5 Implementierung eines vorgreifenden Analysators durch rekursiven Abstieg.- 3.3 Bottom-up-Analyse.- 3.3.1 Das Prinzip der Bottom-up-Analyse.- 3.3.2 Operator-Vorranganalyse.- 3.3.3 LR-Analyse.- 3.3.4 Yacc: Ein Parsergenerator.- 3.4 Aufgaben.- 3.5 Literaturhinweise.- 4 Syntaxgesteuerte Übersetzung.- 4.1 Attributierte Grammatik, syntaxgesteuerte Definition.- 4.2 L-attributierte Definition, Übersetzungsschema.- 4.3 Top-down-Übersetzung.- 4.4 Bottom-up-Übersetzung.- 4.5 Aufgaben.- 4.6 Literaturhinweise.- 5 Übersetzung einer Dokument-Beschreibungssprache.- 5.1 Integration von Programmen und Dokumentation.- 5.2 Die Quellsprache: PD-Texte.- 5.2.1 Absatzformate.- 5.2.2 Zeichenformate.- 5.2.3 Sonderzeichen.- 5.3 Die Zielsprache: LaTeX.- 5.4 Entwurf des Übersetzers.- 5.4.1 Systemfunktion und Umgebung.- 5.4.2 Text-Datenstrukturen.- 5.4.3 Datenstrukturen für benutzerdefinierte Formate und Zeichen.- 5.4.4 Lexikalische Symbole und Grammatik.- 5.5 Literaturhinweise.- 6 Übersetzung imperativer Programmiersprachen.- 6.1 Speicherorganisation und Laufzeitsystem.- 6.1.1 Anforderungen.- 6.1.2 Speicheraufteilung.- 6.2 3-Adreß-Code: Eine Zwischensprache.- 6.2.1 Zwischendarstellungen.- 6.2.2 Eine abstrakte Maschine für 3-Adreß-Code.- 6.3 Übersetzung in 3-Adreß-Code.- 6.3.1 Deklarationen.- 6.3.2 Zuweisungen und Ausdrücke.- 6.3.3 Kontrollstrukturen und boolesche Ausdrücke.- 6.3.4 Prozedur- und Funktionsaufrufe.- 6.4 Aufgaben.- 6.5 Literaturhinweise.- 7 Übersetzung funktionaler Programmiersprachen.- 7.1 ML.- 7.2 Polymorphe Typsysteme und Typinferenz.- 7.2.1 Bestimmung von Typen.- 7.2.2 Ein polymorphes Typinferenzsystem.- 7.2.3 Automatische Typinferenz.- 7.3 Implementierung durch Interpretation.- 7.4 Implementierung durch Übersetzung.- 7.4.1 Die SECD-Maschine.- 7.4.2 Übersetzung von ML in SECD-Code.- 7.4.3 Behandlung von Rekursion.- 7.5 Aufgaben.- 7.6 Literaturhinweise.- 8 Codeerzeugung und Optimierung.- 8.1 Ein Überblick über Optimierungsverfahren.- 8.1.1 Basisblöcke und Flußgraphen.- 8.1.2 Algebraische Optimierung.- 8.1.3 Maschinenunabhängige Optimierung.- 8.1.4 Maschinenabhängige Optimierung.- 8.2 Datenflußanalyse.- 8.2.1 Datenflußgleichungen.- 8.2.2 Das Lösen von Datenflußgleichungen.- 8.3 Codeerzeugung.- 8.3.1 Maschinenmodell.- 8.3.2 Codeerzeugung für Basisblöcke.- 8.4 Aufgaben.- 8.5 Literaturhinweise.- Anhang A. Das PD-System.- Anhang B. File PDNestedText. h.- Anhang C. File PDNestedText. h.tex.- Anhang D. Übersetzung von Parameterlisten in Prozedurdeklarationen.- Lösungen zu den Aufgaben im Text.Klappentext
Das Buch bietet eine kompakte Einführung in die Grundlagen und Techniken des Übersetzerbaus. Übersetzer transformieren Texte einer Quellsprache, deren Struktur durch eine formale Grammatik beschrieben ist, in eine Zielsprache. Die Übersetzung imperativer Programmiersprachen in Maschinensprache ist dabei nur ein Spezialfall. Dieses Lehrbuch betont die vielseitige Verwendbarkeit von Übersetzerbau-Techniken. Insbesondere kann man mit Methoden der Syntaxanalyse Strukturen in Texten, Dateien oder Byte-Strömen identifizieren. Ein weiterer Schwerpunkt liegt in der Verbindung von Theorie und Praxis und der Einübung der Benutzung von Werkzeugen wie Lex und Yacc. So wird u. a. die vollständige Implementierung eines Übersetzers einer einfachen Dokument-Beschreibungssprache nach LaTeX vorgeführt. Angemessen berücksichtigt wird auch die Implementierung imperativer und funktionaler Sprachen. Das didaktisch ansprechende Buch enthält Übungsaufgaben mit Lösungen und ist auch zum Selbststudium geeignet.Anmerkungen:
Bitte beachten Sie, dass auch wir der Preisbindung unterliegen und kurzfristige Preiserhöhungen oder -senkungen an Sie weitergeben müssen.