Yacc
|
Template:Reqimage 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 sense of the input) based on a grammar written in BNF 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. Each offer slight improvements and additional features over the original Yacc, but the concept has remained the same.
Since the parser generated by Yacc requires a lexical analyzer, it is often used in combination with a lexical analyzer generator, in most cases the Lex program. The IEEE POSIX P1003.2 standard defines the functionality and requirements to both Lex and Yacc.
External links
- Berkeley Yacc (http://dickey.his.com/byacc/byacc.html), Generally conceded to be the best yacc variant available. In contrast to bison, it is written to avoid dependencies upon a particular compiler.
- Essence (http://www.informatik.uni-freiburg.de/proglang/software/essence/), an LR(1) parser generator for Scheme
- Parser-tools (http://download.plt-scheme.org/scheme/plt/collects/parser-tools/) for DrScheme.da:Yacc