|
|
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.