MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


User Commands                                            BISON(1)



NAME
     bison - GNU Project parser generator (yacc replacement)

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 pre-
     fix ] [ --name-prefix=prefix ] [ -t ] [ --debug ] [ -v  ]  [
     --verbose  ] [ -V ] [ --version ] [ -y ] [ --yacc ] [ -h ] [
     --help ] [ --fixed-output-files ] file
     yacc [ similar options and operands ]

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.   More-
     over, 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 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
          Write an extra output file containing macro definitions
          for the token type names defined in the grammar and the
          semantic value type YSTYPE, as well as  a  few  extern
          variable declarations.



SunOS 5.10             Last change: local                       1






User Commands                                            BISON(1)



          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.

     --defines=defines-file
          The behavior of --defines is the same than  -d  option.
          The only difference is that it has an optional argument
          which is the name of the output filename.

     -g
          Output a VCG definition of the LALR(1) grammar  automa-
          ton  computed by Bison.  If the grammar file is foo.y ,
          the VCG output file will be foo.vcg.

     --graph=graph-file
          The behavior of --graph is the  same  than  -g  option.
          The only difference is that it has an optional 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 numbers;
          this is defined in the array yytname.   Also  generated
          are  #defines for YNTOKENS, YNTS, YNRULES, and YN-
          STATES.

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

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

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



SunOS 5.10             Last change: local                       2






User Commands                                            BISON(1)



          The other output files' names are constructed from out-
          file 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
          In the parser file, define the macro YDEBUG to 1 if it
          is  not  already defined, so that the debugging facili-
          ties are compiled.

     -v
     --verbose
          Write an extra output file containing verbose  descrip-
          tions  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 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



SunOS 5.10             Last change: local                       3






User Commands                                            BISON(1)



          following shell script can substitute for yacc  and  is
          often installed as yacc:

          bison -y "$@"


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

DIAGNOSTICS
     Self explanatory.

ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:

     
       ATRIBUTE TYPE     ATRIBUTE VALUE
    
     Availability         SUNWbison      
    
     Interface Stability  Volatile       
    

NOTES
     Source for bison is available on http:/opensolaris.org.



























SunOS 5.10             Last change: local                       4



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™