YACC(1)                                                 YACC(1)





NAME
       Yacc - an LALR(1) parser generator

SYNOPSIS
       yacc [ -dlrtv ] [ -b prefix ] [ -S skeleton file ] file-
       name

DESCRIPTION
       Yacc reads the grammar specification in the  file  file-
       name  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.  Yacc
       normally writes the parse tables and the driver  routine
       to the file y.tab.c.

       The following options are available:

              -b prefix
                     The -b option changes the prefix prepended
                     to the output file  names  to  the  string
                     denoted  by prefix.  The default prefix is
                     derived from the input filename.

              -d     The  -d  option  causes  the  header  file
                     y.tab.h to be written.

              -l     If  the  -l  option is not specified, yacc
                     will insert #line directives in the gener-
                     ated code.  The #line directives let the C
                     compiler relate errors  in  the  generated
                     code  to the user's original code.  If the
                     -l option  is  specified,  yacc  will  not
                     insert the #line directives.  #line direc-
                     tives  specified  by  the  user  will   be
                     retained.

              -r     The -r option causes yacc to produce sepa-
                     rate files for code and tables.  The  code
                     file  is  named  y.code.c,  and the tables
                     file is named y.tab.c.

              -t     The -t  option  changes  the  preprocessor
                     directives   generated  by  yacc  so  that
                     debugging statements will be  incorporated
                     in the compiled code.

              -v     The  -v  option  causes  a  human-readable
                     description of the generated parser to  be
                     written to the file y.output.

              -S skeleton file
                     The  -S option causes a different skeleton
                     file to be  used.   The  default  skeleton
                     file is built in to yacc when it is built.

       If the environment variable TMPDIR is  set,  the  string
       denoted by TMPDIR will be used as the name of the direc-
       tory where the temporary files are created.

FILES
       filename.code.c
       filename.tab.c
       filename.tab.h
       filename.output
       /tmp/yacc.aXXXXXX
       /tmp/yacc.tXXXXXX
       /tmp/yacc.uXXXXXX

DIAGNOSTICS
       If there are rules that are never reduced, the number of
       such  rules is reported on standard error.  If there are
       any  LALR(1)  conflicts,  the  number  of  conflicts  is
       reported on standard error.



                         July 15, 1990                  YACC(1)
