Benutzer:Centic/Übersetzerbau

aus Wikipedia, der freien Enzyklopädie

Kurs Übersetzerbau

Einleitung

1 Einführung

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

1.2 Übersetzungsphasen

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

1.3 Die Systemumgebung des Compilers

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

1.5 Werkzeuge

1.6 Aufbau des Kurses

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 in Lex

3 Syntaxanalyse

3.1 Kontextfreie Grammatiken und Syntaxbäume

3.2 Top-Down-Analyse

3.3 Bottom-Up-Analyse

4 Syntax-gesteuerte Übersetzung

5 Übersetzung einer Dokument-Beschreibungssprache

6 Übersetzung imperativer Programmiersprachen

7 Übersetzung funktionaler Programmiersprachen

8 Codeerzeugung und Optimierung

Literatur

  • 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.

Links