This is Info file byacc.info, produced by Makeinfo version 1.67 from
the input file /dumbo/build/lsi/i386-cygwin32/src/byacc/byacc.texi.

START-INFO-DIR-ENTRY
* byacc: (byacc).                bYacc: Sketchy Usage Summary
END-INFO-DIR-ENTRY


File: byacc.info,  Node: Top,  Next: Distribution,  Up: (dir)

bYacc
*****

   bYacc, or Berkeley Yacc, is an LALR(1) parser generator.  Berkeley
Yacc has been made as compatible as possible with AT&T Yacc.  Berkeley
Yacc can accept any input specification that conforms to the AT&T Yacc
documentation.  Specifications that take advantage of undocumented
features of AT&T Yacc will probably be rejected.

   There is no manual describing bYacc: this file is simply a usage
summary, whose contents were copied from the README and the man page
distributed with bYacc.  This information is duplicated in an Info file
purely for convenience.  If you know how to use Yacc, you also know how
to use bYacc.  If you do not know how to use Yacc, consult your nearest
technical bookstore or library for a book on the subject.

   For an excellent manual on the Free Software Foundation's Bison
parser generator, see `BISON: The YACC-compatible Parser Generator', by
Charles Donnelly and Richard Stallman.  Bison is similar to bYacc, but
is available only for building programs which you intend to make freely
available under the GNU General Public License.

* Menu:

* Distribution::        A public domain parser generator.
* Invoking Byacc::      Summary of command-line options.
* Files::               Files bYacc writes.
* Diagnostics::         Messages from bYacc.


File: byacc.info,  Node: Distribution,  Next: Invoking Byacc,  Prev: Top,  Up: Top

A Public Domain Parser Generator
********************************

   Berkeley Yacc is distributed with no warranty whatever.  The code is
certain to contain errors.  Neither the author nor any contributor takes
responsibility for any consequences of its use.

   Berkeley Yacc is in the public domain.  The data structures and
algorithms used in Berkeley Yacc are all either taken from documents
available to the general public or are inventions of the author.  Anyone
may freely distribute source or binary forms of Berkeley Yacc whether
unchanged or modified.  Distributers may charge whatever fees they can
obtain for Berkeley Yacc.  Programs generated by Berkeley Yacc may be
distributed freely.

   Please report bugs to

     corbett@berkeley.edu

   Include a small example if possible.  Please include the banner
string from `skeleton.c' with the bug report.  Do not expect rapid
responses.


File: byacc.info,  Node: Invoking Byacc,  Next: Files,  Prev: Distribution,  Up: Top

Summary of bYacc Command Line Options
*************************************

     byacc [ -dlrtv ]  [ -b PREFIX ]  [ -Qy ]  FILENAME

   bYacc reads the grammar specification in the file FILENAME and
generates an LR(1) parser for it.  The parsers consist of a set of
LALR(1) parsing tables and a driver routine written in the C programming
language.  bYacc normally writes the parse tables and the driver routine
to the file `y.tab.c'.

   The following options are available:

`-b PREFIX'
     Change the prefix used for the output file names to PREFIX.  The
     default prefix is the character `y'.

`-d'
     Write the header file `y.tab.h'.

`-l'
     Do not emit `#line' directives.  If you do not specify the `-l'
     option, bYacc inserts `#line' directives in the generated code.
     The `#line' directives let the C compiler relate errors in the
     generated code to your original code.  Any `#line' directives you
     specify explicitly are retained.

`-Qy'
     Label the output file with the bYacc version, using an `#ident'
     statement of the form

          #ident "byacc: Berkeley Yacc (Cygnus)"

`-Qn'
     Explicitly specify that no `#ident' statement should be included;
     this is the default.

`-r'
     Produce separate files for code and tables.  The code file is named
     `y.code.c', and the table file is named `y.tab.c'.

`-t'
     Change the preprocessor directives generated by bYacc so that
     debugging statements will be incorporated in the compiled code.

`-V'
     Display version information for byacc on standard error.

`-v'
     Write a human-readable description of the generated parser to the
     file `y.output'.


File: byacc.info,  Node: Files,  Next: Diagnostics,  Prev: Invoking Byacc,  Up: Top

The Files that bYacc Writes
***************************

   bYacc can produce these output files (shown with the default prefix
`y', which you can change with the `-b' option):

`y.tab.c'
     By default, this is the output file containing *both* the code and
     the tables generated by bYacc.  If you use the `-r' option,
     however, it contains only the tables.

`y.code.c'
     A file of code generated by bYacc.  This is one of the output
     files when you use the `-r' option.

`y.tab.h'
     A header file: produced when you use the `-d' option.

`y.output'
     A human-readable description of the generated parser, produced
     when you use the `-v' option.

   If the environment variable `TMPDIR' is set, its value is used as
the name of the directory where these temporary files are created (by
default `/tmp'):

     /tmp/yacc.aXXXXXX
     /tmp/yacc.tXXXXXX
     /tmp/yacc.uXXXXXX


File: byacc.info,  Node: Diagnostics,  Prev: Files,  Up: Top

Messages from bYacc
*******************

   bYacc writes two sorts of diagnostic messages to standard error:

   * How many there rules are never reduced, if there are any such.

   * The number of LALR(1) conflicts, if any.



Tag Table:
Node: Top241
Node: Distribution1605
Node: Invoking Byacc2592
Node: Files4349
Node: Diagnostics5337

End Tag Table
