] [
.B \-d
] [
-.B \-\-defines
+.BI \-\-defines= defines-file
+] [
+.B \-g
+] [
+.BI \-\-graph= graph-file
] [
.B \-k
] [
] [
.BI \-\-name-prefix= prefix
] [
-.B \-r
-] [
-.B \-\-raw
-] [
.B \-t
] [
.B \-\-debug
.IR yacc ,
the generated files do not have fixed names, but instead use the prefix
of the input file.
+Moreover, if you need to put
+.IR C++
+code in the input file, you can end his name by a C++-like extension
+(.ypp or .y++), then bison will follow your extension to name the
+output file (.cpp or .c++).
For instance, a grammar description file named
-.B parse.y
+.B parse.yxx
would produce the generated parser in a file named
-.BR parse.tab.c ,
+.BR parse.tab.cxx ,
instead of
.IR yacc 's
-.BR y.tab.c .
+.BR y.tab.c
+or old
+.IR Bison
+versions
+.BR parse.tab.c .
.PP
This description of the options that can be given to
.I bison
.B \-d
.br
.ns
-.TP
-.B \-\-defines
Write an extra output file containing macro definitions for the token
type names defined in the grammar and the semantic value type
.BR YYSTYPE ,
needs to be able to refer to token type codes and the variable
.BR yylval .
.TP
-.B \-r
+.BI \-\-defines= defines-file
+The behaviour of
+.BI \-\-defines
+is the same than
+.BI \-d
+option.
+The only difference is that it has an optionnal argument which is
+the name of the output filename.
+.TP
+.BI \-g
.br
.ns
+Output a VCG definition of the LALR(1) grammar automaton computed by
+Bison. If the grammar file is
+.BR foo.y
+, the VCG output file will be
+.BR foo.vcg .
.TP
-.B \-\-raw
-The token numbers in the \fIname\fB.h\fR file are usually the Yacc compatible
-translations. If this switch is specified, Bison token numbers
-are output instead. (Yacc numbers start at 257 except for single character
-tokens; Bison assigns token numbers sequentially for all tokens
-starting at 3.)
+.BI \-\-graph= graph-file
+The behaviour of
+.BI \-\-graph
+is the same than
+.BI \-g
+option. The only difference is that it has an optionnal argument which
+is the name of the output graph filename.
.TP
.B \-k
.br
.ns
.TP
.B \-\-token-table
-This switch causes the \fIname\fB.tab.c\fR output to include a list of
-token names in order by their token numbers; this is defined in the array
+This switch causes the \fIname\fB.tab.c\fR output to include a list of
+token names in order by their token numbers; this is defined in the array
.IR yytname .
-Also generated
-are #defines for
+Also generated
+are #defines for
.IR YYNTOKENS ,
.IR YYNNTS ,
.IR YYNRULES ,
-and
+and
.IR YYNSTATES .
.TP
.B \-l
.TP
.B \-\-no-parser
Do not generate the parser code into the output; generate only
-declarations. The generated \fIname\fB.tab.c\fR file will have only
+declarations. The generated \fIname\fB.tab.c\fR file will have only
constant declarations. In addition, a \fIname\fB.act\fR file is
generated containing a switch statement body containing all the
-translated actions.
+translated actions.
.TP
.BI \-o " outfile"
.br
.BR yylex ,
.BR yyerror ,
.BR yylval ,
-.BR yychar ,
+.BR yychar ,
and
.BR yydebug .
.sp
.ns
.TP
.B \-\-debug
-Output a definition of the macro
-.B YYDEBUG
-into the parser file,
+In the parser file, define the macro
+.B YYDEBUG
+to 1 if it is not already defined,
so that the debugging facilities are compiled.
.TP
.B \-v
.ft R
.sp
.RE
-.PP
-The long-named options can be introduced with `+' as well as `\-\-',
-for compatibility with previous releases. Eventually support for `+'
-will be removed, because it is incompatible with the POSIX.2 standard.
.SH FILES
-/usr/local/lib/bison.simple simple parser
+/usr/local/share/bison/bison.simple simple parser
.br
-/usr/local/lib/bison.hairy complicated parser
+/usr/local/share/bison/bison.hairy complicated parser
.SH "ENVIRONMENT VARIABLES"
.TP
.SM BISON_SIMPLE