BISON(1)                 User Commands                 BISON(1)



NAME      s
       bison - GNU Project parser generator (yacc replacement)
          n
SYNOPSIS  2
       j:l. [OPTION]... FILE
          4
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  generated  parser  in  a  file named parse.tab.cxx,
       instead  of  yacc's  y.tab.c  or  old  Bison   version's
       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 authori-
       tative.

       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-pre-
       fix, connect the option name and the argument with =.

       Generate LALR(1) and GLR parsers.


       Mandatory  arguments  to  long options are mandatory for
       short options too.  The same is true for optional  argu-
       ments.


       Operation modes:

       -h, --help
              display this help and exit

       -V, --version
              output version information and exit

       --print-localedir
              output directory containing locale-dependent data

       --print-datadir
              output directory containing skeletons and XSLT

       -y, --yacc
              emulate POSIX Yacc

       -W, --warnings=[CATEGORY]
              report the warnings falling in CATEGORY


       Parser:

       -L, --language=LANGUAGE
              specify the output programming language (this  is
              an experimental feature)

       -S, --skeleton=FILE
              specify the skeleton to use

       -t, --debug
              instrument the parser for debugging

       --locations
              enable locations computation

       -p, --name-prefix=PREFIX
              prepend PREFIX to the external symbols

       -l, --no-lines
              don't generate `#line' directives

       -k, --token-table
              include a table of token names


       Output:

       --defines[=FILE]
              also produce a header file

       -d     likewise but cannot specify FILE (for POSIX Yacc)

       -r, --report=THINGS
              also produce details on the automaton

       --report-file=FILE
              write report to FILE

       -v, --verbose
              same as `--report=state'

       -b, --file-prefix=PREFIX
              specify a PREFIX for output files

       -o, --output=FILE
              leave output to FILE

       -g, --graph[=FILE]
              also output a graph of the automaton

       -x, --xml[=FILE]
              also output an XML report of the  automaton  (the
              XML schema is experimental)


       Warning categories include:

       `midrule-values'
              unset or unused midrule values

       `yacc' incompatibilities with POSIX YACC

       `all'  all the warnings

       `no-CATEGORY'
              turn off warnings in CATEGORY

       `none' turn off all the warnings

       `error'
              treat warnings as errors


       THINGS  is  a  list  of  comma  separated words that can
       include:

       `state'
              describe the states

       `itemset'
              complete the core item sets with their closure

       `lookahead'
              explicitly associate lookahead tokens to items

       `solved'
              describe shift/reduce conflicts solving

       `all'  include all the above information

       `none' disable the report



AUTHOR
       Written by Robert Corbett and Richard Stallman.


       Copyright (C) 2008 Free Software Foundation, Inc.   This
       is free software; see the source for copying conditions.
       There is NO warranty; not even  for  MERCHANTABILITY  or
       FITNESS FOR A PARTICULAR PURPOSE.

REPORTING BUGS
       Report bugs to <bug-bison@gnu.org>.

SEE ALSO
       lex(1), flex(1), yacc(1).

       The full documentation for bison is maintained as a Tex-
       info manual.  If the info and bison programs  are  prop-
       erly installed at your site, the command

              info bison

       should give you access to the complete manual.



bison 2.4.1              December 2008                 BISON(1)
