## NAME

         Yacc - an LALR(1) parser generator

## SYNOPSIS

         yacc [ -dlrtv ] [ -b file_prefix  ]  [  -p  symbol_prefix  ]
         filename

## DESCRIPTION

         Yacc 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.  Yacc normally writes
         the parse tables and the driver routine to the file y.tab.c.

         The following options are available:

              -b file_prefix
                   The -b option changes the prefix prepended to  the
                   output   file  names  to  the  string  denoted  by
                   file_prefix.  The default prefix is the  character
                   y.

              -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 generated code.
                   The #line directives let  the  C  compiler  relate
                   errors  in the generated code to the user's origi-
                   nal code.  If the -l  option  is  specified,  yacc
                   will  not  insert  the  #line  directives.   #line
                   directives specified by the user will be retained.

              -p symbol_prefix
                   The -p option  changes  the  prefix  prepended  to
                   yacc-generated  symbols  to  the string denoted by
                   symbol_prefix.  The default prefix is  the  string
                   yy.

              -r   The -r option  causes  yacc  to  produce  separate
                   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.

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

## FILES

         y.code.c
         y.tab.c
         y.tab.h
         y.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.