|
![]() |
|||
|
||||
OverviewDas 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. Full Product DetailsAuthor: Ralf Hartmut Güting , Martin Erwig , Ralf Hartmut Guting , Ralf Hartmut GutingPublisher: Springer-Verlag Berlin and Heidelberg GmbH & Co. KG Imprint: Springer-Verlag Berlin and Heidelberg GmbH & Co. K Edition: 1999 ed. Dimensions: Width: 15.50cm , Height: 2.00cm , Length: 23.50cm Weight: 0.587kg ISBN: 9783540653899ISBN 10: 3540653899 Pages: 368 Publication Date: 21 June 1999 Audience: Professional and scholarly , Professional & Vocational Format: Paperback Publisher's Status: Active Availability: In Print ![]() This item will be ordered in for you from one of our suppliers. Upon receipt, we will promptly dispatch it out to you. For in store availability, please contact us. Language: German Table of Contents1 Einfuhrung.- 1.1 Anwendungsgebiete.- 1.2 UEbersetzungsphasen.- 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 regulare Ausdrucke.- 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 Syntaxbaume.- 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 UEbersetzung.- 4.1 Attributierte Grammatik, syntaxgesteuerte Definition.- 4.2 L-attributierte Definition, UEbersetzungsschema.- 4.3 Top-down-UEbersetzung.- 4.4 Bottom-up-UEbersetzung.- 4.5 Aufgaben.- 4.6 Literaturhinweise.- 5 UEbersetzung 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 UEbersetzers.- 5.4.1 Systemfunktion und Umgebung.- 5.4.2 Text-Datenstrukturen.- 5.4.3 Datenstrukturen fur benutzerdefinierte Formate und Zeichen.- 5.4.4 Lexikalische Symbole und Grammatik.- 5.5 Literaturhinweise.- 6 UEbersetzung imperativer Programmiersprachen.- 6.1 Speicherorganisation und Laufzeitsystem.- 6.1.1 Anforderungen.- 6.1.2 Speicheraufteilung.- 6.2 3-Adress-Code: Eine Zwischensprache.- 6.2.1 Zwischendarstellungen.- 6.2.2 Eine abstrakte Maschine fur 3-Adress-Code.- 6.3 UEbersetzung in 3-Adress-Code.- 6.3.1 Deklarationen.- 6.3.2 Zuweisungen und Ausdrucke.- 6.3.3 Kontrollstrukturen und boolesche Ausdrucke.- 6.3.4 Prozedur- und Funktionsaufrufe.- 6.4 Aufgaben.- 6.5 Literaturhinweise.- 7 UEbersetzung 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 UEbersetzung.- 7.4.1 Die SECD-Maschine.- 7.4.2 UEbersetzung von ML in SECD-Code.- 7.4.3 Behandlung von Rekursion.- 7.5 Aufgaben.- 7.6 Literaturhinweise.- 8 Codeerzeugung und Optimierung.- 8.1 Ein UEberblick uber Optimierungsverfahren.- 8.1.1 Basisbloecke und Flussgraphen.- 8.1.2 Algebraische Optimierung.- 8.1.3 Maschinenunabhangige Optimierung.- 8.1.4 Maschinenabhangige Optimierung.- 8.2 Datenflussanalyse.- 8.2.1 Datenflussgleichungen.- 8.2.2 Das Loesen von Datenflussgleichungen.- 8.3 Codeerzeugung.- 8.3.1 Maschinenmodell.- 8.3.2 Codeerzeugung fur Basisbloecke.- 8.4 Aufgaben.- 8.5 Literaturhinweise.- Anhang A. Das PD-System.- Anhang B. File PDNestedText.h.- Anhang C. File PDNestedText.h.tex.- Anhang D. UEbersetzung von Parameterlisten in Prozedurdeklarationen.- Loesungen zu den Aufgaben im Text.ReviewsAuthor InformationTab Content 6Author Website:Countries AvailableAll regions |