Google
 
   
Login
Username:

Password:


Lost Password?

Register now!
Search
Main Menu
service
top books
Polls
What do you think about php-deluxe.net?
Excellent!
Cool
Hmm..not bad
What the hell is this?
encyclopedia
recommendation
Freenet DSL
Who's Online
7 user(s) are online (7 user(s) are browsing encyclopedia)

Members: 0
Guests: 7

more...
partner
stromtarife vergleichen Stromtarife vergleichen und sparen

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
  • [http://dickey.his.com/byacc/byacc.html Berkeley Yacc]: yacc variant written to avoid dependencies on any particular C programming language compiler.
  • [http://www.informatik.uni-freiburg.de/proglang/software/essence/ Essence], an LR(1) parser generator for Scheme programming language
  • [http://download.plt-scheme.org/scheme/plt/collects/parser-tools/ Parser-tools] for DrScheme.
  • [http://www.smlnj.org/doc/ML-Yacc/index.html ML-Yacc] a yacc version for the Standard ML language.