File:  [DragonFly] / src / usr.bin / yacc / yacc.1
Revision 1.2: download - view: text, annotated - select for diffs
Tue Jun 17 04:29:34 2003 UTC (11 years, 3 months ago) by dillon
Branches: MAIN
CVS tags: HEAD
Add the DragonFly cvs id and perform general cleanups on cvs/rcs/sccs ids.  Most
ids have been removed from !lint sections and moved into comment sections.

    1: .\" Copyright (c) 1989, 1990 The Regents of the University of California.
    2: .\" All rights reserved.
    3: .\"
    4: .\" This code is derived from software contributed to Berkeley by
    5: .\" Robert Paul Corbett.
    6: .\"
    7: .\" Redistribution and use in source and binary forms, with or without
    8: .\" modification, are permitted provided that the following conditions
    9: .\" are met:
   10: .\" 1. Redistributions of source code must retain the above copyright
   11: .\"    notice, this list of conditions and the following disclaimer.
   12: .\" 2. Redistributions in binary form must reproduce the above copyright
   13: .\"    notice, this list of conditions and the following disclaimer in the
   14: .\"    documentation and/or other materials provided with the distribution.
   15: .\" 3. All advertising materials mentioning features or use of this software
   16: .\"    must display the following acknowledgement:
   17: .\"	This product includes software developed by the University of
   18: .\"	California, Berkeley and its contributors.
   19: .\" 4. Neither the name of the University nor the names of its contributors
   20: .\"    may be used to endorse or promote products derived from this software
   21: .\"    without specific prior written permission.
   22: .\"
   23: .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   24: .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   25: .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   26: .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   27: .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   28: .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   29: .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   30: .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   31: .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   32: .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   33: .\" SUCH DAMAGE.
   34: .\"
   35: .\"     @(#)yacc.1	5.8 (Berkeley) 5/24/93
   36: .\" $FreeBSD: src/usr.bin/yacc/yacc.1,v 1.10.2.2 2003/02/25 03:07:40 trhodes Exp $
   37: .\" $DragonFly: src/usr.bin/yacc/yacc.1,v 1.2 2003/06/17 04:29:34 dillon Exp $
   38: .\"
   39: .Dd May 24, 1993
   40: .Dt YACC 1
   41: .Os
   42: .Sh NAME
   43: .Nm yacc
   44: .Nd an LALR(1) parser generator
   45: .Sh SYNOPSIS
   46: .Nm
   47: .Op Fl dlrtv
   48: .Op Fl b Ar file_prefix
   49: .Op Fl o Ar output_filename
   50: .Op Fl p Ar symbol_prefix
   51: .Ar filename
   52: .Sh DESCRIPTION
   53: The
   54: .Nm
   55: utility reads the grammar specification in the file
   56: .Ar filename
   57: and generates an LR(1) parser for it.
   58: The parsers consist of a set of LALR(1) parsing tables and a driver routine
   59: written in the C programming language.
   60: The
   61: .Nm
   62: utility normally writes the parse tables and the driver routine to the file
   63: .Pa y.tab.c .
   64: .Pp
   65: The following options are available:
   66: .Bl -tag -width indent
   67: .It Fl b Ar file_prefix
   68: Change the prefix prepended to the output file names to
   69: the string denoted by
   70: .Ar file_prefix .
   71: The default prefix is the character
   72: .Pa y .
   73: .It Fl d
   74: Cause the header file
   75: .Pa y.tab.h
   76: to be written.
   77: .It Fl l
   78: If the
   79: .Fl l
   80: option is not specified,
   81: .Nm
   82: will insert #line directives in the generated code.
   83: The #line directives let the C compiler relate errors in the
   84: generated code to the user's original code.
   85: If the
   86: .Fl l
   87: option is specified,
   88: .Nm
   89: will not insert the #line directives.
   90: Any #line directives specified by the user will be retained.
   91: .It Fl o Ar output_filename
   92: Cause
   93: .Nm
   94: to write the generated code to
   95: .Ar output_filename
   96: instead of the default file,
   97: .Pa y.tab.c .
   98: .It Fl p Ar symbol_prefix
   99: Change the prefix prepended to yacc-generated symbols to
  100: the string denoted by
  101: .Ar symbol_prefix .
  102: The default prefix is the string
  103: .Pa yy .
  104: .It Fl r
  105: Cause
  106: .Nm
  107: to produce separate files for code and tables.  The code file
  108: is named
  109: .Pa y.code.c ,
  110: and the tables file is named
  111: .Pa y.tab.c .
  112: .It Fl t
  113: Change the preprocessor directives generated by
  114: .Nm
  115: so that debugging statements will be incorporated in the compiled code.
  116: .It Fl v
  117: Cause a human-readable description of the generated parser to
  118: be written to the file
  119: .Pa y.output .
  120: .El
  121: .Sh ENVIRONMENT
  122: .Bl -tag -width ".Ev TMPDIR"
  123: .It Ev TMPDIR
  124: Name of directory where temporary files are to be created.
  125: .El
  126: .Sh TABLES
  127: The names of the tables generated by this version of
  128: .Nm
  129: are
  130: .Va yylhs , yylen , yydefred , yydgoto , yysindex ,
  131: .Va yyrindex , yygindex , yytable ,
  132: and
  133: .Va yycheck .
  134: Two additional tables,
  135: .Va yyname
  136: and
  137: .Va yyrule ,
  138: are created if
  139: .Dv YYDEBUG
  140: is defined and non-zero.
  141: .Sh FILES
  142: .Bl -tag -width "Pa /tmp/yacc.aXXXXXXXXXX" -compact
  143: .It Pa y.code.c
  144: .It Pa y.tab.c
  145: .It Pa y.tab.h
  146: .It Pa y.output
  147: .It Pa /tmp/yacc.aXXXXXXXXXX
  148: .It Pa /tmp/yacc.tXXXXXXXXXX
  149: .It Pa /tmp/yacc.uXXXXXXXXXX
  150: .El
  151: .Sh DIAGNOSTICS
  152: If there are rules that are never reduced,
  153: the number of such rules is reported on standard error.
  154: If there are any
  155: .Tn LALR(1)
  156: conflicts,
  157: the number of conflicts is reported on standard error.
  158: .Sh SEE ALSO
  159: .Xr yyfix 1
  160: .Sh HISTORY
  161: A
  162: .Nm
  163: command appeared in PWB UNIX.
  164: .Sh STANDARDS
  165: The
  166: .Nm
  167: utility conforms to
  168: .St -p1003.2 .