This commit was manufactured by cvs2svn to create tag 'FreeBSD-release/1.0'.
[unix-history] / usr.bin / yacc / yacc.1
index 5b8d797..742633d 100644 (file)
-.\" Copyright (c) 1989, 1990 The Regents of the University of California.
-.\" All rights reserved.
+.\"    %W%     %R% (Berkeley) %E%
 .\"
 .\"
-.\" This code is derived from software contributed to Berkeley by
-.\" Robert Paul Corbett.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\"    notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\"    notice, this list of conditions and the following disclaimer in the
-.\"    documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\"    must display the following acknowledgement:
-.\"    This product includes software developed by the University of
-.\"    California, Berkeley and its contributors.
-.\" 4. Neither the name of the University nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\"     @(#)yacc.1     5.7 (Berkeley) 7/30/91
-.\"
-.Dd July 30, 1991
-.Dt YACC 1
-.Os
-.Sh NAME
-.Nm yacc
-.Nd an
-.Tn LALR(1)
-parser generator
-.Sh SYNOPSIS
-.Nm yacc
-.Op Fl dlrtv
-.Op Fl b Ar prefix
-.Ar filename
-.Sh DESCRIPTION
-.Nm Yacc
+.TH YACC 1 "July\ 15,\ 1990"
+.UC 6
+.SH NAME
+Yacc \- an LALR(1) parser generator
+.SH SYNOPSIS
+.B yacc [ -dlrtv ] [ -b
+.I file_prefix
+.B ] [ -p
+.I symbol_prefix
+.B ]
+.I filename
+.SH DESCRIPTION
+.I Yacc
 reads the grammar specification in the file
 reads the grammar specification in the file
-.Ar filename
-and generates an
-.Tn LR(1)
-parser for it.
-The parsers consist of a set of
-.Tn LALR(1)
-parsing tables and a driver routine
+.I 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.
 written in the C programming language.
-.Nm Yacc
+.I Yacc
 normally writes the parse tables and the driver routine to the file
 normally writes the parse tables and the driver routine to the file
-.Pa y.tab.c .
-.Pp
+.IR y.tab.c.
+.PP
 The following options are available:
 The following options are available:
-.Bl -tag -width Ar
-.It Fl b Ar prefix
+.RS
+.TP
+\fB-b \fIfile_prefix\fR
 The
 The
-.Fl b
+.B -b
 option changes the prefix prepended to the output file names to
 the string denoted by
 option changes the prefix prepended to the output file names to
 the string denoted by
-.Ar prefix .
+.IR file_prefix.
 The default prefix is the character
 The default prefix is the character
-.Ar y .
-.It Fl d
-The
-.Fl d
-option causes the header file
-.Pa y.tab.h
+.IR y.
+.TP
+.B -d
+The \fB-d\fR option causes the header file
+.IR y.tab.h
 to be written.
 to be written.
-.It Fl l
+.TP
+.B -l
 If the
 If the
-.Fl l
+.B -l
 option is not specified,
 option is not specified,
-.Nm yacc
+.I 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 original code.
 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 original code.
-If the
-.Fl l
-option is specified,
-.Nm yacc
+If the \fB-l\fR option is specified,
+.I yacc
 will not insert the \#line directives.
 \&\#line directives specified by the user will be retained.
 will not insert the \#line directives.
 \&\#line directives specified by the user will be retained.
-.It Fl r
+.TP
+\fB-p \fIsymbol_prefix\fR
+The
+.B -p
+option changes the prefix prepended to yacc-generated symbols to
+the string denoted by
+.IR symbol_prefix.
+The default prefix is the string
+.IR yy.
+.TP
+.B -r
 The
 The
-.Fl r
+.B -r
 option causes
 option causes
-.Nm yacc
-to produce separate files for code and tables.
-The code file is named
-.Pa y.code.c ,
+.I yacc
+to produce separate files for code and tables.  The code file
+is named
+.IR y.code.c,
 and the tables file is named
 and the tables file is named
-.Pa y.tab.c .
-.It Fl t
+.IR y.tab.c.
+.TP
+.B -t
 The
 The
-.Fl t
+.B -t
 option changes the preprocessor directives generated by
 option changes the preprocessor directives generated by
-.Nm yacc
+.I yacc
 so that debugging statements will be incorporated in the compiled code.
 so that debugging statements will be incorporated in the compiled code.
-.It Fl v
+.TP
+.B -v
 The
 The
-.Fl v
+.B -v
 option causes a human-readable description of the generated parser to
 be written to the file
 option causes a human-readable description of the generated parser to
 be written to the file
-.Pa y.output .
-.Pp
-.Sh ENVIRONMENT
-The following environment variable is referenced by
-.Nm yacc :
-.Bl -tag -width TMPDIR
-.It Ev TMPDIR
-If the environment variable
-.Ev TMPDIR
-is set, the string denoted by
-.Ev TMPDIR
-will be used as the name of the directory where the temporary
+.IR y.output.
+.RE
+.PP
+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 are created.
-.El
-.Sh TABLES
-The names of the tables generated by this version of
-.Nm yacc
-are
-.Dq yylhs ,
-.Dq yylen ,
-.Dq yydefred ,
-.Dq yydgoto ,
-.Dq yysindex ,
-.Dq yyrindex ,
-.Dq yygindex ,
-.Dq yytable ,
-and
-.Dq yycheck .
-Two additional tables,
-.Dq yyname
-and
-.Dq yyrule ,
-are created if
-.Dv YYDEBUG
-is defined and non-zero.
-.Sh FILES
-.Bl -tag -width /tmp/yacc.uXXXXXXXX -compact
-.It Pa y.code.c
-.It Pa y.tab.c
-.It Pa y.tab.h
-.It Pa y.output
-.It Pa /tmp/yacc.aXXXXXX
-.It Pa /tmp/yacc.tXXXXXX
-.It Pa /tmp/yacc.uXXXXXX
-.El
-.Sh DIAGNOSTICS
+.SH FILES
+.IR y.code.c
+.br
+.IR y.tab.c
+.br
+.IR y.tab.h
+.br
+.IR y.output
+.br
+.IR /tmp/yacc.aXXXXXX
+.br
+.IR /tmp/yacc.tXXXXXX
+.br
+.IR /tmp/yacc.uXXXXXX
+.SH DIAGNOSTICS
 If there are rules that are never reduced, the number of such rules is
 If there are rules that are never reduced, the number of such rules is
-written to the standard error.
-If there are any
-.Tn LALR(1)
-conflicts, the number of conflicts is also written
-to the standard error.
-.Sh SEE ALSO
-.Xr yyfix 1
-.Sh STANDARDS
-The
-.Nm yacc
-utility conforms to
-.St -p1003.2 .
+reported on standard error.
+If there are any LALR(1) conflicts, the number of conflicts is reported
+on standard error.