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

  1.  
  2.  
  3.  
  4. BISON(1)                                                 BISON(1)
  5.  
  6.  
  7. NNAAMMEE
  8.        bison - GNU Project parser generator (yacc replacement)
  9.  
  10. SSYYNNOOPPSSIISS
  11.        bbiissoonn  [  --bb _f_i_l_e_-_p_r_e_f_i_x ] [ ----ffiillee--pprreeffiixx==_f_i_l_e_-_p_r_e_f_i_x ] [
  12.        --dd ] [ ----ddeeffiinneess ] [ --ll ] [ ----nnoo--lliinneess ] [ --oo _o_u_t_f_i_l_e ]  [
  13.        ----oouuttppuutt--ffiillee==_o_u_t_f_i_l_e   ]   [   --pp   _p_r_e_f_i_x  ]  [  ----nnaammee--
  14.        pprreeffiixx==_p_r_e_f_i_x ] [ --tt ] [ ----ddeebbuugg ] [ --vv ] [ ----vveerrbboossee ]  [
  15.        --VV  ]  [ ----vveerrssiioonn ] [ --yy ] [ ----yyaacccc ] [ --hh ] [ ----hheellpp ] [
  16.        ----ffiixxeedd--oouuttppuutt--ffiilleess ] file
  17.  
  18. DDEESSCCRRIIPPTTIIOONN
  19.        _B_i_s_o_n is a parser generator in the style of  _y_a_c_c(1).   It
  20.        should  be  upwardly  compatible with input files designed
  21.        for _y_a_c_c.
  22.  
  23.        Input files should follow the _y_a_c_c convention of ending in
  24.        ..yy.   Unlike  _y_a_c_c,  the generated files do not have fixed
  25.        names, but instead use the prefix of the input file.   For
  26.        instance,  a  grammar description file named ppaarrssee..yy would
  27.        produce the generated parser in a file named  ppaarrssee..ttaabb..cc,
  28.        instead of _y_a_c_c's yy..ttaabb..cc.
  29.  
  30.        This description of the options that can be given to _b_i_s_o_n
  31.        is adapted from the node IInnvvooccaattiioonn in  the  bbiissoonn..tteexxiinnffoo
  32.        manual, which should be taken as authoritative.
  33.  
  34.        _B_i_s_o_n  supports both traditional single-letter options and
  35.        mnemonic long option names.  Long option names  are  indi-
  36.        cated  with  ----  instead  of  --.  Abbreviations for option
  37.        names are allowed as long as they are unique.  When a long
  38.        option  takes an argument, like ----ffiillee--pprreeffiixx, connect the
  39.        option name and the argument with ==.
  40.  
  41.    OOPPTTIIOONNSS
  42.        --bb _f_i_l_e_-_p_r_e_f_i_x
  43.        ----ffiillee--pprreeffiixx==_f_i_l_e_-_p_r_e_f_i_x
  44.               Specify a prefix to use for all _b_i_s_o_n  output  file
  45.               names.   The  names are chosen as if the input file
  46.               were named _f_i_l_e_-_p_r_e_f_i_x..cc.
  47.  
  48.        --dd
  49.        ----ddeeffiinneess
  50.               Write an extra output file containing macro defini-
  51.               tions for the token type names defined in the gram-
  52.               mar and the semantic value type YYYYSSTTYYPPEE, as well as
  53.               a few eexxtteerrnn variable declarations.
  54.  
  55.               If the parser output file is named _n_a_m_e..cc then this
  56.               file is named _n_a_m_e..hh.
  57.  
  58.               This output file is essential if you  wish  to  put
  59.               the  definition of yyyylleexx in a separate source file,
  60.               because yyyylleexx needs to be able to  refer  to  token
  61.  
  62.  
  63.  
  64.                               local                             1
  65.  
  66.  
  67.  
  68.  
  69.  
  70. BISON(1)                                                 BISON(1)
  71.  
  72.  
  73.               type codes and the variable yyyyllvvaall.
  74.  
  75.        --ll
  76.        ----nnoo--lliinneess
  77.               Don't  put  any  ##lliinnee preprocessor commands in the
  78.               parser file.  Ordinarily _b_i_s_o_n  puts  them  in  the
  79.               parser  file  so  that the C compiler and debuggers
  80.               will associate errors with your  source  file,  the
  81.               grammar file.  This option causes them to associate
  82.               errors with the parser file, treating it  an  inde-
  83.               pendent source file in its own right.
  84.  
  85.        --oo _o_u_t_f_i_l_e
  86.        ----oouuttppuutt--ffiillee==_o_u_t_f_i_l_e
  87.               Specify the name _o_u_t_f_i_l_e for the parser file.
  88.  
  89.               The  other output files' names are constructed from
  90.               _o_u_t_f_i_l_e as described under the --vv and --dd  switches.
  91.  
  92.        --pp _p_r_e_f_i_x
  93.        ----nnaammee--pprreeffiixx==_p_r_e_f_i_x
  94.               Rename  the  external symbols used in the parser so
  95.               that they start with _p_r_e_f_i_x  instead  of  yyyy.   The
  96.               precise  list of symbols renamed is yyyyppaarrssee, yyyylleexx,
  97.               yyyyeerrrroorr, yyyyllvvaall, yyyycchhaarr, and yyyyddeebbuugg.
  98.  
  99.               For example, if you use  --pp  cc,  the  names  become
  100.               ccppaarrssee, cclleexx, and so on.
  101.  
  102.        --tt
  103.        ----ddeebbuugg
  104.               Output  a  definition of the macro YYYYDDEEBBUUGG into the
  105.               parser file, so that the debugging  facilities  are
  106.               compiled.
  107.  
  108.        --vv
  109.        ----vveerrbboossee
  110.               Write  an  extra  output  file  containing  verbose
  111.               descriptions of the parser states and what is  done
  112.               for each type of look-ahead token in that state.
  113.  
  114.               This  file  also  describes all the conflicts, both
  115.               those resolved by operator precedence and the unre-
  116.               solved ones.
  117.  
  118.               The  file's  name  is made by removing ..ttaabb..cc or ..cc
  119.               from the parser output file name, and adding  ..oouutt--
  120.               ppuutt instead.
  121.  
  122.               Therefore,  if  the  input  file is ffoooo..yy, then the
  123.               parser file is called ffoooo..ttaabb..cc by default.   As  a
  124.               consequence,  the  verbose  output  file  is called
  125.               ffoooo..oouuttppuutt.
  126.  
  127.  
  128.  
  129.  
  130.                               local                             2
  131.  
  132.  
  133.  
  134.  
  135.  
  136. BISON(1)                                                 BISON(1)
  137.  
  138.  
  139.        --VV
  140.        ----vveerrssiioonn
  141.               Print the version number of _b_i_s_o_n and exit.
  142.  
  143.        --hh
  144.               ----hheellpp Print a summary of the options to _b_i_s_o_n  and
  145.               exit.
  146.  
  147.        --yy
  148.        ----yyaacccc
  149.        ----ffiixxeedd--oouuttppuutt--ffiilleess
  150.               Equivalent to --oo yy..ttaabb..cc; the parser output file is
  151.               called yy..ttaabb..cc, and the other  outputs  are  called
  152.               yy..oouuttppuutt  and  yy..ttaabb..hh.  The purpose of this switch
  153.               is to imitate _y_a_c_c's output file name  conventions.
  154.               Thus, the following shell script can substitute for
  155.               _y_a_c_c:
  156.  
  157.               bbiissoonn --yy $$**
  158.  
  159.  
  160.        The long-named options can be introduced with `+' as  well
  161.        as  `--', for compatibility with previous releases.  Even-
  162.        tually support for `+' will  be  removed,  because  it  is
  163.        incompatible with the POSIX.2 standard.
  164.  
  165. FFIILLEESS
  166.        /usr/local/lib/bison.simple   simple parser
  167.        /usr/local/lib/bison.hairy    complicated parser
  168.  
  169. SSEEEE AALLSSOO
  170.        _y_a_c_c(1)
  171.        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
  172.        bbiissoonn..tteexxiinnffoo in the _b_i_s_o_n source distribution.
  173.  
  174. DDIIAAGGNNOOSSTTIICCSS
  175.        Self explanatory.
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.                               local                             3
  197.  
  198.  
  199.