home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 8
/
FreshFishVol8-CD1.bin
/
gnu
/
man
/
cat1
/
bison.0
< prev
next >
Wrap
Text File
|
1993-12-07
|
8KB
|
199 lines
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