Compilerbau

Disziplin der Informatik
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 8. Februar 2007 um 17:55 Uhr durch 89.55.109.100 (Diskussion). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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
  • YaccYet Another CompilerCompiler, ein Parsergenerator - Open-Source-Alternative: GNU Bison
  • JavaCCJava 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.

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.

Siehe auch

  • Compiler - beschreibt, wie ein Compiler aufgebaut ist.

Literatur

Deutsch:

Englisch:

  • Aho, Sethi, Ullman: Compilers: Principles, Techniques and Tools. Addison Wesley 1986 ISBN 0201100886
    Obiges Buch, aufgrund seines Einbands besser bekannt als das "Drachenbuch", gilt als ein 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
  • Donald E. Knuth: Compiler Techniques. Band 7 von The Art of Computer Programming. In Planung.
  • http://www.oberon.ethz.ch/WirthPubl/CBEAll.pdf
  • SUIF, die Implementierung der National Compiler Infrastructure Project-Initiative