Compilerbau

Der Compilerbau, deutsch Ü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
  • 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

Weblinks


Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Token (Compilerbau) — Ein Token (Art.: „das“; Pl.: „Tokens“) ist ein Stück Text, dem von einer Grammatik eine Bedeutung zugewiesen wird. Dabei ist ein Token die lexikalische Grundeinheit, die ein Parser bearbeitet. Beim Parsen wird jedes Token letztlich mit einem… …   Deutsch Wikipedia

  • PL/0 — At least two programming languages are known as PL/0. One is a subset of IBM s general purpose programming language PL/I. The other PL/0, covered here, is similar to but much simpler than the general purpose programming language Pascal, intended… …   Wikipedia

  • Formale Grammatik — Formale Grammatiken sind mathematische Modelle von Grammatiken, die mit Hilfe des Semi Thue Systems angegeben werden und durch die formale Sprachen beschrieben und erzeugt werden können. Sie werden in der theoretischen Informatik, insbesondere in …   Deutsch Wikipedia

  • Übersetzerbau — Der Compilerbau, deutsch Ü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… …   Deutsch Wikipedia

  • Abstrakte Maschine — Ein Automat oder eine abstrakte Maschine ist in der Informatik das Modell eines digitalen, zeitdiskreten Rechners. Ob es möglich oder sinnvoll ist, eine solche Maschine tatsächlich zu bauen, ist dabei zunächst unerheblich. Die Vereinfachung der… …   Deutsch Wikipedia

  • Abstrakter Automat — Ein Automat oder eine abstrakte Maschine ist in der Informatik das Modell eines digitalen, zeitdiskreten Rechners. Ob es möglich oder sinnvoll ist, eine solche Maschine tatsächlich zu bauen, ist dabei zunächst unerheblich. Die Vereinfachung der… …   Deutsch Wikipedia

  • Automatenmodell — Ein Automat oder eine abstrakte Maschine ist in der Informatik das Modell eines digitalen, zeitdiskreten Rechners. Ob es möglich oder sinnvoll ist, eine solche Maschine tatsächlich zu bauen, ist dabei zunächst unerheblich. Die Vereinfachung der… …   Deutsch Wikipedia

  • Avram Noam Chomsky — Noam Chomsky‎ Avram Noam Chomsky [ˈævɹəm ˈnoʊəm ˈtʃɑːmskɪ] (* 7. Dezember 1928 in Philadelphia, Pennsylvania, USA) ist Professor für Linguistik am Massachusetts Institute of Technology (MIT). Er entwickelte die nach ihm benannte …   Deutsch Wikipedia

  • Compiler-Front-End — Ein Compiler (auch Übersetzer oder Kompilierer genannt) ist ein Computerprogramm, das ein in einer Quellsprache geschriebenes Programm – genannt Quellprogramm – in ein semantisch äquivalentes Programm einer Zielsprache (Zielprogramm) umwandelt.… …   Deutsch Wikipedia

  • Graphersetzung — Beispiel für Graphersetzungsregel (Optimierung aus dem Compilerbau: Multiplikation mit 2 durch Addition ersetzt) Graphersetzungssysteme dienen der formalen Beschreibung der Veränderung von Graphen. Ein Graphersetzungssystem ist eine Menge M von… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”