Compilerbau
aus Wikipedia, der freien Enzyklopädie
Der Compilerbau (auch: Übersetzerbau) ist eine Disziplin der Informatik. Sie beschäftigt sich mit dem Entwurf und der Programmierung von Compilern, die einen Quellcode (ein meist in einer höheren Programmiersprache verfasstes Programm, also einen Quelltext) in einen Zielcode (meist eine weniger ausdrucksstarke Sprache, vorrangig Maschinensprache) umsetzen.
Für den Compilerbau stehen Softwarewerkzeuge (zum Beispiel Parsergeneratoren) zur Verfügung, die aus Spezifikationen Teile eines Compilers wie lexikalische Scanner oder Parser erzeugen (oft fälschlicherweise als Compiler-Compiler oder Compilergenerierung bezeichnet). Dazu gehören:
- Lex – ein Scannergenerator; Open-Source-Alternative: Flex
- Yacc – Yet Another CompilerCompiler, ein Parsergenerator; Open-Source-Alternative: GNU Bison
- JavaCC – Java CompilerCompiler, ein CC implementiert in Java mit vielen Möglichkeiten, der u. a. Scanner- und Parsergenerator vereint.
- Coco/R – Scanner und Parsergenerator für C#, Java, C++, Oberon, Delphi, Ada, Ruby, Unicon. Ist unter einer erweiterten GPL verfügbar.
- ANTLR – Another Tool for Language Recognition – Parsergenerator für C, C#, C++, Objective C, Java, Python, Ruby, LISP, Perl, PhP, Oberon, Ada95
Echte Compilergenerierung, also die automatische Generierung eines vollständigen Compilers aus einer formalen Spezifikation, ist noch Forschungsgebiet, z. B. an der Universität der Bundeswehr die Projekte JACCIE und SIC.
[Bearbeiten] Literatur
- Aho, Lam, Sethi, Ullman: Compiler, Pearson, 2008, ISBN 978-3-8273-7097-6
- Aho, Sethi, Ullman: Compilerbau, Tl. 1. Oldenbourg, 1999, ISBN 3-486-25294-1
- Aho, Sethi, Ullman: Compilerbau, Tl. 2. Oldenbourg, 1999, ISBN 3-486-25266-6
- Reinhard Wilhelm, Dieter Maurer: Übersetzerbau – Theorie, Konstruktion, Generierung. Springer 1997, ISBN 3-540-61692-6
- Niklaus Wirth: Grundlagen und Techniken des Compilerbaus. ISBN 3-486-24374-8 (Besonders empfehlenswert als Einsteigerbuch. Der Autor entwickelt für eine einfache Sprache einen vollständigen Compiler.)
- Peter Baeumle, Heinz Alenfelder: Compilerbau. Eine praxisorientierte Einführung. S+W Verlag, Hamburg 1995. ISBN 3-89161-245-1
- Hans Zima: Compilerbau I. Bibliographisches Institut, Band 36, Zürich 1982, ISBN 3-411-01644-2
- Hans Zima: Compilerbau II. Bibliographisches Institut, Band 37, Zürich 1983, ISBN 3-411-01671-X
- Güting, Erwig: Übersetzerbau: Techniken, Werkzeuge, Anwendungen. Berlin, Heidelberg 1999, ISBN 3-540-65389-9 (Guter Überblick, geeignet zum Selbststudium)
- Parr, Terence: The Definitive ANTLR Reference: Building Domain-Specific Languages. The Pragmatic Programmers, Mai 2007, ISBN 978-0-9787392-5-6
[Bearbeiten] Siehe auch
- Compiler – beschreibt, wie ein Compiler aufgebaut ist.
[Bearbeiten] Weblinks
- Forschungs-Compilergenerator Epsilon
- Eli: Übersetzerentwicklung leicht gemacht
- PL/0 Compiler, kompletter Quelltext einer Pascal-ähnlichen Programmiersprache, geschrieben in C
- Projekte JACCIE und SIC
- Compilerbau Gut verständliche Einführung in den Compilerbau