Compilerbau
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
- Yacc - Yet Another CompilerCompiler, ein Parsergenerator.
- JavaCC - Java CompilerCompiler, ein CC implementiert in Java mit vielen Möglichkeiten, der u.a. Scanner- und Parsergenerator vereint.
Echte Compilergenerierung, also die automatische Generierung eines vollständigen Compilers aus einer formalen Spezifikation, ist noch Forschungsgebiet.
Der Wikieintrag Compiler beschreibt, wie ein Compiler aufgebaut ist.
Literatur
Deutsch:
- Aho, Sethi, Ullman: Compilerbau, Tl. 1. Oldenbourg 1999 ISBN 3486252941
- Aho, Sethi, Ullman: Compilerbau, Tl. 2. Oldenbourg 1999 ISBN 3486252666
- Reinhard Wilhelm, Dieter Maurer: Übersetzerbau – Theorie, Konstruktion, Generierung. Springer 1997, ISBN 3540616926
- Niklaus Wirth: Grundlagen und Techniken des Compilerbaus. ISBN 3486243748 Besonders empfehlenswert als Einsteigerbuch. Der Autor entwickelt für eine einfache Sprache einen vollständigen Compiler.
- Hans Zima: Compilerbau I"". Bibliographisches Institut, Band 36, Zürich 1982 ISBN 3411016442
- Hans Zima: Compilerbau II"". Bibliographisches Institut, Band 37, Zürich 1983 ISBN 341101671X
- Güting, Erwig: Übersetzerbau: Techniken, Werkzeuge, Anwendungen. Berlin, Heidelberg 1999 ISBN 3540653899 Guter Überblick, geeignet zum Selbststudium
- Herold, Helmut: lex & yacc . Die Profitools zur lexikalischen und syntaktischen Textanalyse. Addison Wesley 2003 ISBN 3827320968
Englisch:
- Aho, Sethi, Ullman: Compilers: Principles, Techniques and Tools. Addison Wesley 1986 ISBN 0201100886
Obiges Buch, aufgrund seines Covers besser bekannt als das "Drachenbuch", gilt als Standardwerk des Compilerbaus. Eine stark auf Theorie ausgelegte Gestaltung gibt ihm auch heute noch Relevanz, macht es jedoch gleichzeitig schwerer lesbar. - A.W. Appel: Modern Compiler Implementation in Java. Cambridge University Press 1998, umfassendes leicht lesbares Buch ISBN 0521586542
- Gerhard Goos, William Waite: Compiler Construction. ISBN 3540908218
- David Gries: Compiler Construction for Digital Computers. John Wiley, 1971
Dieses gut lesbare Lehrbuch war das erste Buch über Compilerbau überhaupt und zudem eines der ersten Bücher, die im Computersatz hergestellt wurden. Der Quelltext auf Lochkarten wird heute in der Stanford University ausgestellt. - John R. Levine, Tony Mason, Doug Brown: Lex & Yacc. O'Reilly & Associates - ISBN: 1565920007
- R. Morgan: Building an Optimizing Compiler. Butterworth-Heinemann 1998, erstklassiges Buch über Optimierung ISBN 155558179X
Weblinks
- Forschungs-Compilergenerator Epsilon
- David Gries' Compiler book Source
- Compiler-Entwicklungssystem CoSy
Kategorie:Programmierung
Kategorie:Compilerbau
