Kurs Übersetzerbau

Bearbeiten

Einleitung

Bearbeiten

1 Einführung

Bearbeiten

Ein Übersetzer (engl. Compiler) erzeugt aus einer Sprache A ein Zielprogramm in einer Sprache B. Die Syntax von A wird durch eine Grammatik definiert.


1.1 Anwendungsgebiete

Bearbeiten

1.2 Übersetzungsphasen

Bearbeiten

Quellprogramm -> Lexikalische Analyse -> Syntaxanalyse -> Semantische Analyse -> Erzeugen von Zwischencode -> Codeoptimierung -> Codeerzeugung -> Zielprogramm

1.3 Die Systemumgebung des Compilers

Bearbeiten

Vorform des Quellprogramms -> Präprozessor -> Quellprogramm -> Compiler -> Zielprogramm in Assemblersprache -> Assembler -> Programm in verschiebbarem Maschinencode -> Lader/Binder (mithilfe anderer Programmteile, Programme aus Bibliotheken in verschiebbarem Maschinencode) -> Programm in absolutem Maschinencode

1.4 Compiler und Interpreter, reale und abstrakte Maschinen

Bearbeiten

1.5 Werkzeuge

Bearbeiten

1.6 Aufbau des Kurses

Bearbeiten

2 Lexikalische Analyse

Bearbeiten

2.1 Beschreibung von Token durch reguläre Ausdrücke

Bearbeiten

2.2 Beschreibung von Token durch Zustandsdiagramme

Bearbeiten

2.3 Direkte Implementierung eines Scanners

Bearbeiten

2.4 Implementierung eines Scanners in Lex

Bearbeiten

3 Syntaxanalyse

Bearbeiten

3.1 Kontextfreie Grammatiken und Syntaxbäume

Bearbeiten

3.2 Top-Down-Analyse

Bearbeiten

3.3 Bottom-Up-Analyse

Bearbeiten

4 Syntax-gesteuerte Übersetzung

Bearbeiten

5 Übersetzung einer Dokument-Beschreibungssprache

Bearbeiten

6 Übersetzung imperativer Programmiersprachen

Bearbeiten

7 Übersetzung funktionaler Programmiersprachen

Bearbeiten

8 Codeerzeugung und Optimierung

Bearbeiten

Literatur

Bearbeiten
  • Güting, R.H., und M. Erwig, Übersetzerbau: Techniken, Werkzeuge, Anwendungen. Springer-Verlag, Berlin Heidelberg 1999. 398 S., ISBN 3-540-65389-9
  • Aho, A.V., R. Sethi und J.D. Ullman, Compilers. Principles, Techniques, and Tools. Addison-Wesley, Reading, 1986.
  • Parsons, T.W., Introduction to Compiler Construction. Computer Science Press, New York, 1992.
  • Wilhelm, R., und D. Maurer, Übersetzerbau. Theorie, Konstruktion, Generierung. 2. Aufl., Springer-Verlag, Berlin, 1997.
  • Waite, W.M. und G. Goos, Compiler Construction, Springer-Verlag, Berlin, 1984.
  • Sudkamp, T.A., Languages and Machines. Addison-Wesley, Reading, 1988.