home *** CD-ROM | disk | FTP | other *** search
-
-
-
- local 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 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
-
-
- 1
-
-
-
-
-
-
- BISON(1) local
-
-
- Don't put any #line preprocessor commands in the parser file.
- Ordinarily bison puts them in the parser file so that the C com-
- piler 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.
-
-
- 2
-
-
-
-
-
-
- local BISON(1)
-
-
- 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.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 3
-
-