Yacc

Yacc is a computer program that is used to produce compilers. The word Yacc is an acronym that stands for self-deprecating yet another compiler- compiler.

Yacc is used for syntactic analysis. It implements a parser generator that from syntax definitions of programming languages ​​that ( (k ) grammars special LR ) are given in a BNF - like notation by LALR ( 1) grammars, automated can generate a parser based on a pushdown automaton.

Yacc generated from the language definition program code that is typically provided in C. There are other variants yacc generate the code for other languages ​​, such as AYACC for the Ada language.

To create a compiler or interpreter, a generated by Yacc parser needs another program module for lexical analysis of the source code. For this purpose, the developed also for UNIX program Lex is commonly used.

Yacc was originally developed by Stephen C. Johnson at AT & T as part of the UNIX project. Later, other versions of the program have emerged, such as Berkeley Yacc ( byacc short ) in modern BSD operating systems, GNU Bison as part of the GNU project, MKS Yacc Yacc and Abraxas. These are based on the same basic concept as Yacc, but offer improvements in detail. The source code of yacc is now also published under a free license. Yacc is, among other things part of OpenSolaris Plan 9

831524
de