Manual Page Result
0
Command: yacc | Section: 1 | Source: UNIX v10 | File: yacc.1
YACC(1) General Commands Manual YACC(1)
NAME
yacc, eyacc - yet another compiler-compiler
SYNOPSIS
yacc [ option ... ] grammar
eyacc [ -v ] [ grammar ]
DESCRIPTION
Yacc converts a context-free grammar and translation code into a set of
tables for an LR(1) parser and translator. The grammar may be ambigu-
ous; specified precedence rules are used to break ambiguities.
The output file, must be compiled by the C compiler to produce a pro-
gram This program must be loaded with a lexical analyzer function,
yylex() (often generated by lex(1)), with a main() program, and with an
error handling routine, yyerror(). Simple default versions of the last
two are loaded by option -ly of ld(1).
The options are
-o output
Direct output to the specified file instead of
-D Create file containing diagnostic messages. To incorporate them
in the parser, compile it with preprocessor symbol YYDEBUG de-
fined. The amount of diagnostic output from the parser is regu-
lated by values of an external variable
0 Report errors.
1 Also report reductions.
2 Also report the name of each token returned by
-v Create file containing a description of the parsing tables and
of conflicts arising from ambiguities in the grammar.
-d Create file containing #define statements that associate yacc-
assigned `token codes' with user-declared `token names'. In-
clude it in source files other than to give access to the token
codes.
-s stem
Change the prefix of the file names and to stem.
Eyacc is a special version of yacc, with systematic error recovery. It
is used to compile pascal(A).
FILES
temporary file
temporary file
parser prototype for C programs
library
-ly
SEE ALSO
lex(1)
S. C. Johnson and R. Sethi, this manual, Volume 2
BUGS
The parser may not have full information when it writes to so that the
names of the tokens returned by may be missing.
YACC(1)