yacc reads the grammar specification in the file
filename and generates an LR(1) parser for it. The parsers consist of a set of LALR(1) parsing tables and a driver routine written in the C programming language.
yacc normally writes the parse tables and the driver routine to the file
y.tab.c.
The following options are available:
-b prefix
The -b option changes the prefix prepended to the output file names to the string denoted by prefix. The default prefix is the character y.
-d
The -d option causes the header file y.tab.h to be written.
-g
The
-g option causes a graphical description of the generated LALR(1) parser to be written to the file
y.dot in graphviz format, ready to be processed by
dot(1).
-l
If the -l option is not specified, yacc will insert #line directives in the generated code. The #line directives let the C compiler relate errors in the generated code to the user's original code. If the -l option is specified, yacc will not insert the #line directives. #line directives specified by the user will be retained.
-o outputfile
The -o option specifies an explicit output file name should be used instead of the default.
-p symbol_prefix
The -p option changes the prefix prepended to yacc-generated symbols to the string denoted by symbol_prefix. The default prefix is the string yy.
-r
The -r option causes yacc to produce separate files for code and tables. The code file is named y.code.c, and the tables file is named y.tab.c.
-t
The -t option changes the preprocessor directives generated by yacc so that debugging statements will be incorporated in the compiled code.
-v
The -v option causes a human-readable description of the generated parser to be written to the file y.output.