home *** CD-ROM | disk | FTP | other *** search
-
-
-
- BISON(1) BISON(1)
-
-
- NNAAMMEE
- bison - GNU Project parser generator (yacc replacement)
-
- SSYYNNOOPPSSIISS
- bbiissoonn [ --bb _f_i_l_e_-_p_r_e_f_i_x ] [ ----ffiillee--pprreeffiixx==_f_i_l_e_-_p_r_e_f_i_x ] [
- --dd ] [ ----ddeeffiinneess ] [ --ll ] [ ----nnoo--lliinneess ] [ --oo _o_u_t_f_i_l_e ] [
- ----oouuttppuutt--ffiillee==_o_u_t_f_i_l_e ] [ --pp _p_r_e_f_i_x ] [ ----nnaammee--
- pprreeffiixx==_p_r_e_f_i_x ] [ --tt ] [ ----ddeebbuugg ] [ --vv ] [ ----vveerrbboossee ] [
- --VV ] [ ----vveerrssiioonn ] [ --yy ] [ ----yyaacccc ] [ --hh ] [ ----hheellpp ] [
- ----ffiixxeedd--oouuttppuutt--ffiilleess ] file
-
- DDEESSCCRRIIPPTTIIOONN
- _B_i_s_o_n is a parser generator in the style of _y_a_c_c(1). It
- should be upwardly compatible with input files designed
- for _y_a_c_c.
-
- Input files should follow the _y_a_c_c convention of ending in
- ..yy. Unlike _y_a_c_c, the generated files do not have fixed
- names, but instead use the prefix of the input file. For
- instance, a grammar description file named ppaarrssee..yy would
- produce the generated parser in a file named ppaarrssee..ttaabb..cc,
- instead of _y_a_c_c's yy..ttaabb..cc.
-
- This description of the options that can be given to _b_i_s_o_n
- is adapted from the node IInnvvooccaattiioonn in the bbiissoonn..tteexxiinnffoo
- manual, which should be taken as authoritative.
-
- _B_i_s_o_n 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 ----ffiillee--pprreeffiixx, connect the
- option name and the argument with ==.
-
- OOPPTTIIOONNSS
- --bb _f_i_l_e_-_p_r_e_f_i_x
- ----ffiillee--pprreeffiixx==_f_i_l_e_-_p_r_e_f_i_x
- Specify a prefix to use for all _b_i_s_o_n output file
- names. The names are chosen as if the input file
- were named _f_i_l_e_-_p_r_e_f_i_x..cc.
-
- --dd
- ----ddeeffiinneess
- Write an extra output file containing macro defini-
- tions for the token type names defined in the gram-
- mar and the semantic value type YYYYSSTTYYPPEE, as well as
- a few eexxtteerrnn variable declarations.
-
- If the parser output file is named _n_a_m_e..cc then this
- file is named _n_a_m_e..hh.
-
- This output file is essential if you wish to put
- the definition of yyyylleexx in a separate source file,
- because yyyylleexx needs to be able to refer to token
-
-
-
- local 1
-
-
-
-
-
- BISON(1) BISON(1)
-
-
- type codes and the variable yyyyllvvaall.
-
- --ll
- ----nnoo--lliinneess
- Don't put any ##lliinnee preprocessor commands in the
- parser file. Ordinarily _b_i_s_o_n 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.
-
- --oo _o_u_t_f_i_l_e
- ----oouuttppuutt--ffiillee==_o_u_t_f_i_l_e
- Specify the name _o_u_t_f_i_l_e for the parser file.
-
- The other output files' names are constructed from
- _o_u_t_f_i_l_e as described under the --vv and --dd switches.
-
- --pp _p_r_e_f_i_x
- ----nnaammee--pprreeffiixx==_p_r_e_f_i_x
- Rename the external symbols used in the parser so
- that they start with _p_r_e_f_i_x instead of yyyy. The
- precise list of symbols renamed is yyyyppaarrssee, yyyylleexx,
- yyyyeerrrroorr, yyyyllvvaall, yyyycchhaarr, and yyyyddeebbuugg.
-
- For example, if you use --pp cc, the names become
- ccppaarrssee, cclleexx, and so on.
-
- --tt
- ----ddeebbuugg
- Output a definition of the macro YYYYDDEEBBUUGG into the
- parser file, so that the debugging facilities are
- compiled.
-
- --vv
- ----vveerrbboossee
- 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 ..ttaabb..cc or ..cc
- from the parser output file name, and adding ..oouutt--
- ppuutt instead.
-
- Therefore, if the input file is ffoooo..yy, then the
- parser file is called ffoooo..ttaabb..cc by default. As a
- consequence, the verbose output file is called
- ffoooo..oouuttppuutt.
-
-
-
-
- local 2
-
-
-
-
-
- BISON(1) BISON(1)
-
-
- --VV
- ----vveerrssiioonn
- Print the version number of _b_i_s_o_n and exit.
-
- --hh
- ----hheellpp Print a summary of the options to _b_i_s_o_n and
- exit.
-
- --yy
- ----yyaacccc
- ----ffiixxeedd--oouuttppuutt--ffiilleess
- Equivalent to --oo yy..ttaabb..cc; the parser output file is
- called yy..ttaabb..cc, and the other outputs are called
- yy..oouuttppuutt and yy..ttaabb..hh. The purpose of this switch
- is to imitate _y_a_c_c's output file name conventions.
- Thus, the following shell script can substitute for
- _y_a_c_c:
-
- bbiissoonn --yy $$**
-
-
- 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.
-
- FFIILLEESS
- /usr/local/lib/bison.simple simple parser
- /usr/local/lib/bison.hairy complicated parser
-
- SSEEEE AALLSSOO
- _y_a_c_c(1)
- The _B_i_s_o_n _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, included as the file
- bbiissoonn..tteexxiinnffoo in the _b_i_s_o_n source distribution.
-
- DDIIAAGGNNOOSSTTIICCSS
- Self explanatory.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- local 3
-
-
-