Yacc

Yacc

Yacc ist ein Computerprogramm, welches der Herstellung von Compilern dient. Das Wort Yacc ist ein Akronym, das selbstironisch für yet another compiler compiler steht.

Yacc dient der syntaktischen Analyse. Es implementiert einen Parsergenerator, der aus Syntaxdefinitionen von Programmiersprachen, die durch LALR(1)-Grammatiken (besondere LR(k)-Grammatiken) in einer BNF-ähnlichen Notation angegeben sind, automatisiert einen Parser auf Basis eines Kellerautomaten erzeugen kann.

Yacc erzeugt aus der Sprachdefinition Programmcode, der typischerweise in C bereitgestellt wird. Daneben gibt es weitere Yacc-Varianten, die Code für andere Sprachen erzeugen, wie beispielsweise Ayacc für die Sprache Ada.

Um einen Compiler oder Interpreter zu erstellen, benötigt ein von Yacc generierter Parser noch ein weiteres Programmmodul zur lexikalischen Analyse des Quellcodes. Hierfür wird häufig das ebenfalls für UNIX entwickelte Programm Lex eingesetzt.

Yacc wurde ursprünglich von Stephen C. Johnson bei AT&T im Rahmen des UNIX-Projektes entwickelt. Später sind weitere Varianten des Programms entstanden, wie Berkeley Yacc (Kurz byacc) in modernen BSD-Betriebssystemen, GNU Bison im Rahmen des GNU-Projekts, MKS Yacc and Abraxas Yacc. Diese basieren auf dem gleichen Grundkonzept wie Yacc, bieten aber Verbesserungen im Detail. Der Quellcode von yacc ist heute ebenfalls unter einer freien Lizenz veröffentlicht. Yacc ist unter anderem Bestandteil von OpenSolaris und Plan 9.

Literatur

  • Herold, Helmut: lex & yacc . Die Profitools zur lexikalischen und syntaktischen Textanalyse. Addison Wesley, 2003, ISBN 3-82732-096-8
  • John R. Levine, Tony Mason, Doug Brown: lex & yacc, O'REILLY 1992, ISBN 1-56592-000-7
  • S. C. Johnson, Yacc: Yet Another Compiler Compiler, Computing Science Technical Report No. 32, 1975, Bell Laboratories, Murray Hill, New Jersey 07974

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

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

  • Yacc — es un programa para generar analizadores sintácticos. Las siglas del nombre significan Yet Another Compiler Compiler, es decir, Otro generador de compiladores más . Genera un analizador sintáctico (la parte de un compilador que comprueba que la… …   Wikipedia Español

  • YACC — ist ein Computerprogramm, welches zur Herstellung von Compilern dient. Das Wort Yacc ist ein Akronym, das selbstironisch für yet another compiler compiler steht. Yacc ist eine Implementierung eines Parsergenerators der eine einfache Möglichkeit… …   Deutsch Wikipedia

  • Yacc — yacc  компьютерная программа, служащая стандартным генератором синтаксических анализаторов (парсеров) в Unix системах. Название является сокращением от «Yet Another Compiler Compiler» («ещё один компилятор компиляторов»). Yacc генерирует… …   Википедия

  • yacc — yacc  компьютерная программа, служащая стандартным генератором синтаксических анализаторов (парсеров) в Unix системах. Название является акронимом «Yet Another Compiler Compiler» («ещё один компилятор компиляторов»). Yacc генерирует парсер… …   Википедия

  • YACC —   [Abk. für Yet Another Compiler Compiler, dt. »noch ein Compiler für Compiler«], Hilfsprogramm für das Betriebssystem Unix. YACC dient dazu, mittels formaler Definitionen einer vom Anwender vorgegebenen Computersprache, Compiler …   Universal-Lexikon

  • yacc — (Yet Another Compiler Compiler) n. computer software that is used as the standard parser generator on Unix systems …   English contemporary dictionary

  • Yacc — The computer program yacc is a parser generator developed by Stephen C. Johnson at AT T for the Unix operating system. The name is an acronym for Yet Another Compiler Compiler. It generates a parser (the part of a compiler that tries to make… …   Wikipedia

  • YACC — Lex et yacc Lex et Yacc sont des outils très populaires de génération d analyseurs lexicaux (Lex) et syntaxiques (Yacc) en langage C. « Yacc » est l acronyme de Yet Another Compiler Compiler. Du point de vue de la classification des… …   Wikipédia en Français

  • Yacc — Lex et yacc Lex et Yacc sont des outils très populaires de génération d analyseurs lexicaux (Lex) et syntaxiques (Yacc) en langage C. « Yacc » est l acronyme de Yet Another Compiler Compiler. Du point de vue de la classification des… …   Wikipédia en Français

  • YACC — Yet Another Compiler Compiler Grammatikinterpreter und Compilergenerator unter UNIX http://www.desy.de/cgi bin/man cgiyacc …   Acronyms

Share the article and excerpts

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