Compilerbau

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Compilerbau, deutsch Übersetzerbau, ist eine Disziplin der Informatik die sich mit dem Entwurf und der Programmierung von Compilern, die einen Quelltext in einen Zielcode umsetzen, beschäftigt. Der Quellcode ist ein meist in einer höheren Programmiersprache verfasstes Programm, das in einen, meist eine weniger ausdrucksstarke Sprache, vorrangig Maschinensprache, Zielcode umgesetzt wird.

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
  • GOLD Parsing System - Parsergenerator für C, C++, .NET, Java, D, Delphi, Visual Basic, Python.
  • 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.
  • ANTLRANother Tool for Language Recognition – Parsergenerator für C, C#, C++, Objective C, Java, Python, Ruby, LISP, Perl, PHP, Oberon, Ada95
  • AtoCC – Visueller Scanner- und Parsergenerator für akademische Zwecke (C#, Java, Delphi und Scheme).

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.

Literatur[Bearbeiten]

Weblinks[Bearbeiten]