home *** CD-ROM | disk | FTP | other *** search
-
-
-
- BISON(1) BISON(1)
-
-
- 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 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
- --defines
- 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.
-
- 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
-
-
-
- local 1
-
-
-
-
-
- BISON(1) BISON(1)
-
-
- 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 inde-
- pendent 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 unre-
- 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.
-
-
-
-
- local 2
-
-
-
-
-
- BISON(1) BISON(1)
-
-
- -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. Even-
- tually 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 3
-
-
-