YACC(I)                      11/25/74                     YACC(I)
NAME
     yacc - yet another compiler-compiler
SYNOPSIS
     yacc [ -vor ] [ grammar ]
DESCRIPTION
     Yacc  converts  a  context-free grammar into a set of tables
     for a simple automaton which executes an LR(1) parsing algo-
     rithm.   The  grammar may be ambiguous; specified precedence
     rules are used to break ambiguities.
     The output is y.tab.c, which must be compiled by the C  com-
     piler and loaded with any other routines required (perhaps a
     lexical analyzer) and the Yacc library:
          cc y.tab.c other.o -ly
     If the -v flag is given,  the  file  y.output  is  prepared,
     which contains a description of the parsing tables and a re-
     port on conflicts generated by ambiguities in the grammar.
     The -o flag calls an optimizer for the tables; the optimized
     tables, with parser included, appear on file y.tab.c
     The  -r  flag causes Yacc to accept grammars with Ratfor ac-
     tions, and produce Ratfor output on y.tab.r; -r implies  the
     -o flag.  Typical usage is then
          rc y.tab.r other.o
SEE ALSO
     ``LR  Parsing'',  by  A. V. Aho and S. C. Johnson, Computing
     Surveys, June, 1974.  ``The YACC Compiler-compiler'', inter-
     nal memorandum.
AUTHOR
     S. C. Johnson
FILES
     y.output
     y.tab.c
     y.tab.r             when ratfor output is obtained
     yacc.tmp       when optimizer is called
     /lib/liby.a         runtime library for compiler
     /usr/yacc/fpar.r    ratfor parser
     /usr/yacc/opar.c    parser for optimized tables
     /usr/yacc/yopti          optimizer postpass
DIAGNOSTICS
     The  number  of  reduce-reduce and shift-reduce conflicts is
     reported on the standard output; a more detailed  report  is
     found in the y.output file.
                              - 1 -
YACC(I)                      11/25/74                     YACC(I)
BUGS
     Because  file  names are fixed, at most one Yacc process can
     be active in a given directory at a time.
                              - 2 -