Yacc |
Yacc is a piece of computer software that serves as the standard parser generator on Unix systems. The name is an acronym for Yet Another Compiler Compiler. It generates a parser (the part of a Compiler that tries to make Semantics of the input) based on a grammar written in Backus-Naur form notation. Yacc generates the code for the parser in the C programming language.
Yacc was developed by Stephen C. Johnson at AT&T for the Unix operating system. Later compatible programs were written, such as Berkeley Yacc, GNU bison, MKS yacc and Abraxas yacc (an updated version of the original AT&T version is also open source as part of Sun s OpenSolaris project). Each offer slight improvements and additional features over the original Yacc, but the concept has remained the same; Yacc has also been rewritten for other languages, including ML_programming_language and Java programming language.
Since the parser generated by Yacc requires a lexical analyzer, it is often used in combination with a lexical analyzer generator, in most cases either Lex or the free software alternative Flex_lexical_analyser. The IEEE POSIX P1003.2 standard defines the functionality and Requirements to both Lex and Yacc.
=External links=
*[http://cvs.opensolaris.org/source/xref/usr/src/cmd/sgs/yacc/ Source code] to AT&T yacc as used in OpenSolaris|
|