Provided by: bison++_1.21.11-5_amd64 bug

NAME

       bison - GNU Project parser generator (yacc replacement)

SYNOPSIS

       bison  [  -b  file-prefix ] [ --file-prefix=file-prefix ] [ -d ] [ --defines ] [ -l ] [ --no-lines ] [ -o
       outfile ] [ --output-file=outfile ] [ -p prefix ] [ --name-prefix=prefix ] [ -t ] [ --debug ] [  -v  ]  [
       --verbose ] [ -V ] [ --version ] [ -y ] [ --yacc ] [ --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.  For instance, a grammar description file
       named parse.y would produce the generated parser in a file named parse.tab.c, instead of yacc's y.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  indicated  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
       --defines
              Write an extra output file containing macro definitions for the token type names  defined  in  the
              grammar 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.

              This  output  file  is  essential  if you wish to put the definition of yylex in a separate source
              file, because yylex needs to be able to refer to token type codes and the variable yylval.

       -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
              independent source file in its own right.

       -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.

       -t
       --debug
              Output  a  definition  of the macro YYDEBUG into the parser file, so that the debugging facilities
              are compiled.

       -v
       --verbose
              Write an extra output file containing verbose descriptions of the parser states and what  is  done
              for each type of look-ahead token in that state.

              This  file  also  describes  all the conflicts, both those resolved by operator precedence and the
              unresolved ones.

              The file's name is made by removing .tab.c or .c from the parser  output  file  name,  and  adding
              .output 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.

       -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 $*

       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.

FILES

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

SEE ALSO

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

DIAGNOSTICS

       Self explanatory.

                                                      local                                             BISON(1)