Übersetzerbau

Ü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 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.
  • ANTLR – Another 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

  • Niklaus Wirth: Grundlagen und Techniken des Compilerbaus. ISBN 3-486-24374-8 (Der Autor entwickelt für eine einfache Sprache einen vollständigen Compiler.)
  • Reinhard Wilhelm, Dieter Maurer: Übersetzerbau – Theorie, Konstruktion, Generierung. Springer 1997, ISBN 3-540-61692-6
  • Reinhard Wilhelm, Helmut Seidl: Übersetzerbau: Virtuelle Maschinen. Springer 2007, ISBN 978-3540495963
  • Aho, Lam, Sethi, Ullman: Compiler, Pearson, 2008, ISBN 978-3-8273-7097-6

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

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

  • Token (Übersetzerbau) — 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

  • Reinhard Wilhelm — (* 5. Juni 1946 in Deutmecke, Westfalen) ist ein deutscher Informatiker. Inhaltsverzeichnis 1 Leben und Wirken 2 Auszeichnungen 3 Schriften 4 …   Deutsch Wikipedia

  • 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… …   Deutsch Wikipedia

  • Generation language — Quelltext eines Programms in der objektorientierten Programmiersprache Ruby. Eine Programmiersprache ist eine Notation für Computerprogramme; sie dient sowohl dazu, diese während und nach ihrer Entwicklung (Programmierung) darzustellen als auch… …   Deutsch Wikipedia

  • LEX — Das Programm Lex wird im Übersetzerbau benutzt, um Scanner für die lexikalische Analyse von Quelltexten zu erstellen. Ein lexikalischer Scanner ist Teil eines Übersetzers. Lex wird oft in Kombination mit Yacc, der für die syntaktische Analyse… …   Deutsch Wikipedia

  • Static Single Assignment — Zwischencode ist Code, der im Verlauf eines Übersetzungsprozesses auf einer Abstraktionsebene zwischen der höheren Ausgangssprache und der in der Regel maschinennahen Zielsprache generiert wird. Es handelt sich in erster Linie um einen im… …   Deutsch Wikipedia

  • Hanspeter Mössenböck — (* 1959 in Schwanenstadt, Österreich) ist österreichischer Informatiker. Er ist Professor für Praktische Informatik/Systemsoftware an der Johannes Kepler Universität (JKU) Linz. Er leitet das Institut für Systemsoftware und das Christian Doppler… …   Deutsch Wikipedia

  • Abstract State Machine — Eine abstrakte Zustandsmaschine (englisch Abstract State Machine (ASM), ehemals auch Evolving Algebra (EVA) genannt), ist in der Informatik ein Modell zur formalen, operationellen Beschreibung von Algorithmen. Anders als bei endlichen Automaten,… …   Deutsch Wikipedia

  • Abstract State Machines — Eine abstrakte Zustandsmaschine (englisch Abstract State Machine (ASM), ehemals auch Evolving Algebra (EVA) genannt), ist in der Informatik ein Modell zur formalen, operationalen Beschreibung von Algorithmen. Anders als bei endlichen Automaten,… …   Deutsch Wikipedia

  • Compiler — Historisches Beispiel anhand von CBASIC Ein Compiler (auch Übersetzer oder Kompilierer genannt) ist ein Computerprogramm, das ein in einer Quellsprache geschriebenes Programm (Quelltext/Quellprogramm, meist von einem Programmierer in einer… …   Deutsch Wikipedia

Share the article and excerpts

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