Erwig / Güting | Übersetzerbau | Buch | 978-3-540-65389-9 | sack.de

Buch, Deutsch, 368 Seiten, Format (B × H): 155 mm x 235 mm, Gewicht: 581 g

Reihe: Springer-Lehrbuch

Erwig / Güting

Übersetzerbau

Techniken, Werkzeuge, Anwendungen
1999
ISBN: 978-3-540-65389-9
Verlag: Springer Berlin Heidelberg

Techniken, Werkzeuge, Anwendungen

Buch, Deutsch, 368 Seiten, Format (B × H): 155 mm x 235 mm, Gewicht: 581 g

Reihe: Springer-Lehrbuch

ISBN: 978-3-540-65389-9
Verlag: Springer Berlin Heidelberg


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.

Erwig / Güting Übersetzerbau jetzt bestellen!

Zielgruppe


Professional/practitioner

Weitere Infos & Material


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.3 Bottom-up-Analyse.- 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.3 Die Zielsprache: LaTeX.- 5.4 Entwurf des Übersetzers.- 5.5 Literaturhinweise.- 6 Übersetzung imperativer Programmiersprachen.- 6.1 Speicherorganisation und Laufzeitsystem.- 6.2 3-Adreß-Code: Eine Zwischensprache.- 6.3 Übersetzung in 3-Adreß-Code.- 6.4 Aufgaben.- 6.5 Literaturhinweise.- 7 Übersetzung funktionaler Programmiersprachen.- 7.1 ML.- 7.2 Polymorphe Typsysteme und Typinferenz.- 7.3 Implementierung durch Interpretation.- 7.4 Implementierung durch Übersetzung.- 7.5 Aufgaben.- 7.6 Literaturhinweise.- 8 Codeerzeugung und Optimierung.- 8.1 Ein Überblick über Optimierungsverfahren.- 8.2 Datenflußanalyse.- 8.3 Codeerzeugung.- 8.4 Aufgaben.- 8.5 Literaturhinweise.- Anhang A. Das PD-System.- Anhang B. File PDNestedText.h.- Anhang C. FilePDNestedText.h.tex.- Anhang D. Übersetzung von Parameterlisten in Prozedurdeklarationen.- Lösungen zu den Aufgaben im Text.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.