## SYNOPSIS

           bison  [  -b file-prefix ] [ --file-prefix=file-prefix ] [
           -d ] [ --defines=defines-file ] [ -g  ]  [  --graph=graph-
           file ] [ -k ] [ --token-table ] [ -l ] [ --no-lines ] [ -n
           ] [ --no-parser ] [ -o outfile ] [ --output-file=outfile ]
           [  -p prefix ] [ --name-prefix=prefix ] [ -t ] [ --debug ]
           [ -v ] [ --verbose ] [ -V ] [ --version ] [ -y ] [  --yacc
           ] [ -h ] [ --help ] [ --fixed-output-files ] file

## DESCRIPTION

           Bison  is  a parser generator in the style of yacc(1).  It
           should be upwardly compatible with  input  files  designed
           for yacc.

           Input files should follow the yacc convention of ending in
           .y.  Unlike yacc, the generated files do  not  have  fixed
           names,  but  instead  use  the  prefix  of the input file.
           Moreover, if you need to put 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 parse.yxx would produce the  gener
           ated  parser  in  a  file  named parse.tab.cxx, instead of
           yacc's y.tab.c or old Bison versions parse.tab.c.

           This description of the options that can be given to bison
           is  adapted  from the node Invocation in the bison.texinfo
           manual, which should be taken as authoritative.

           Bison supports both traditional single-letter options  and
           mnemonic  long  option names.  Long option names are indi
           cated with -- instead  of  -.   Abbreviations  for  option
           names are allowed as long as they are unique.  When a long
           option takes an argument, like --file-prefix, connect  the
           option name and the argument with =.

       OPTIONS
           -b file-prefix
           --file-prefix=file-prefix
                  Specify  a  prefix to use for all bison output file
                  names.  The names are chosen as if the  input  file
                  were named file-prefix.c.

           -d
                  Write an extra output file containing macro defini
                  tions for the token type names defined in the gram
                  mar and the semantic value type YYSTYPE, as well as
                  a few extern variable declarations.

                  If the parser output file is named name.c then this
                  file is named name.h.

                  foo.y , the VCG output file will be foo.vcg.

           --graph=graph-file
                  The  behaviour  of  --graph  is  the  same  than -g
                  option. The only  difference  is  that  it  has  an
                  optionnal  argument which is the name of the output
                  graph filename.

           -k
           --token-table
                  This switch causes the name.tab.c output to include
                  a  list of token names in order by their token num
                  bers;  this is defined in the array yytname.   Also
                  generated  are #defines for YYNTOKENS, YYNNTS, YYN
                  RULES, and YYNSTATES.

           -l
           --no-lines
                  Don't put any #line preprocessor  commands  in  the
                  parser  file.   Ordinarily  bison  puts them in the
                  parser file so that the C  compiler  and  debuggers
                  will  associate  errors  with your source file, the
                  grammar file.  This option causes them to associate
                  errors  with  the parser file, treating it an inde
                  pendent source file in its own right.

           -n
           --no-parser
                  Do not generate the parser code  into  the  output;
                  generate    only   declarations.    The   generated
                  name.tab.c file will have  only  constant  declara
                  tions.   In  addition, a name.act file is generated
                  containing a switch statement body  containing  all
                  the translated actions.

           -o outfile
           --output-file=outfile
                  Specify the name outfile for the parser file.

                  The  other output files' names are constructed from
                  outfile as described under the -v and -d  switches.

           -p prefix
           --name-prefix=prefix
                  Rename  the  external symbols used in the parser so
                  that they start with prefix  instead  of  yy.   The
                  precise  list of symbols renamed is yyparse, yylex,
                  yyerror, yylval, yychar, and yydebug.

                  For example, if you use  -p  c,  the  names  become
                  cparse, clex, and so on.

                  solved ones.

                  The  file's  name  is made by removing .tab.c or .c
                  from the parser output file name, and adding  .out
                  put instead.

                  Therefore,  if  the  input  file is foo.y, then the
                  parser file is called foo.tab.c by default.   As  a
                  consequence,  the  verbose  output  file  is called
                  foo.output.

           -V
           --version
                  Print the version number of bison and exit.

           -h
           --help Print a summary of the options to bison and exit.

           -y
           --yacc
           --fixed-output-files
                  Equivalent to -o y.tab.c; the parser output file is
                  called  y.tab.c,  and  the other outputs are called
                  y.output and y.tab.h.  The purpose of  this  switch
                  is  to imitate yacc's output file name conventions.
                  Thus, the following shell script can substitute for
                  yacc:

                  bison -y $*

## FILES

           /usr/local/share/bison/bison.simple     simple parser
           /usr/local/share/bison/bison.hairy complicated parser

## ENVIRONMENT VARIABLES

           BISON_SIMPLE
                  If  this is set, it specifies the location in which
                  the bison.simple parser can be found.

           BISON_HAIRY
                  If this is set, it specifies the location in  which
                  the bison.hairy parser can be found.

## SEE ALSO

           yacc(1)
           The   Bison   Reference   Manual,  included  as  the  file
           bison.texinfo in the bison source distribution.

## DIAGNOSTICS

           Self explanatory.