|
|
1.1 root 1: .\" Copyright (c) 1989 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 are permitted
8: .\" provided that the above copyright notice and this paragraph are
9: .\" duplicated in all such forms and that any documentation,
10: .\" advertising materials, and other materials related to such
11: .\" distribution and use acknowledge that the software was developed
12: .\" by the University of California, Berkeley. The name of the
13: .\" University may not be used to endorse or promote products derived
14: .\" from this software without specific prior written permission.
15: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
16: .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
17: .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
18: .\"
19: .\" @(#)yacc.1 5.3 (Berkeley) 5/12/90
20: .\"
21: .TH YACC 1 "May 12, 1990"
22: .UC 7
23: .SH NAME
24: yacc \- an LALR(1) parser generator
25: .SH SYNOPSIS
26: .B yacc [ -dltv ] [ -b
27: .I prefix
28: .B ]
29: .I filename
30: .SH DESCRIPTION
31: .I Yacc
32: reads the grammar specification in the file
33: .I filename
34: and generates an LR(1) parser for it.
35: The parsers consist of a set of LALR(1) parsing tables and a driver routine
36: written in the C programming language.
37: .I Yacc
38: normally writes the parse tables and the driver routine to the file
39: .IR y.tab.c.
40: .PP
41: The following options are available:
42: .RS
43: .TP
44: \fB-b \fIprefix\fR
45: The
46: .B -b
47: option changes the prefix prepended to the output file names to
48: the string denoted by
49: .IR prefix.
50: The default prefix is the character
51: .IR y.
52: .TP
53: .B -d
54: The \fB-d\fR option causes the header file
55: .IR y.tab.h
56: to be written.
57: .TP
58: .B -l
59: If the
60: .B -l
61: option is not specified,
62: .I yacc
63: will insert \#line directives in the generated code.
64: The \#line directives let the C compiler relate errors in the
65: generated code to the user's original code.
66: If the \fB-l\fR option is specified,
67: .I yacc
68: will not insert the \#line directives.
69: Any \#line directives specified by the user will be retained.
70: .TP
71: .B -t
72: The
73: .B -t
74: option will change the preprocessor directives generated by
75: .I yacc
76: so that debugging statements will be incorporated in the compiled code.
77: .TP
78: .B -v
79: The
80: .B -v
81: option causes a human-readable description of the generated parser to
82: be written to the file
83: .IR y.output.
84: .RE
85: .PP
86: If the environment variable TMPDIR is set, the string denoted by
87: TMPDIR will be used as the name of the directory where the temporary
88: files are created.
89: .SH TABLES
90: The names of the tables generated by this version of
91: .I yacc
92: are ``yylhs'', ``yylen'', ``yydefred'', ``yydgoto'', ``yysindex'',
93: ``yyrindex'', ``yygindex'', ``yytable'', and ``yycheck''.
94: Two additional tables, ``yyname'' and ``yyrule'', are created if
95: YYDEBUG is defined and non-zero.
96: .SH FILES
97: .IR y.tab.c
98: .br
99: .IR y.tab.h
100: .br
101: .IR y.output
102: .br
103: .IR /tmp/yacc.aXXXXXX
104: .br
105: .IR /tmp/yacc.tXXXXXX
106: .br
107: .IR /tmp/yacc.uXXXXXX
108: .SH "SEE ALSO"
109: yyfix(1)
110: .SH DIAGNOSTICS
111: If there are rules that are never reduced, the number of such rules is
112: reported on standard error.
113: If there are any LALR(1) conflicts, the number of conflicts is reported
114: on standard error.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.