100 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| .\"	%W%	%R% (Berkeley) %E%
 | |
| .\"
 | |
| .TH YACC 1 "July\ 15,\ 1990"
 | |
| .UC 6
 | |
| .SH NAME
 | |
| Yacc \- an LALR(1) parser generator
 | |
| .SH SYNOPSIS
 | |
| .B yacc [ -dlrtv ] [ -b
 | |
| .I prefix
 | |
| .B ]
 | |
| .I filename
 | |
| .SH DESCRIPTION
 | |
| .I Yacc
 | |
| reads the grammar specification in the file
 | |
| .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.
 | |
| .I Yacc
 | |
| normally writes the parse tables and the driver routine to the file
 | |
| .IR y.tab.c.
 | |
| .PP
 | |
| The following options are available:
 | |
| .RS
 | |
| .TP
 | |
| \fB-b \fIprefix\fR
 | |
| The
 | |
| .B -b
 | |
| option changes the prefix prepended to the output file names to
 | |
| the string denoted by
 | |
| .IR prefix.
 | |
| The default prefix is the character
 | |
| .IR y.
 | |
| .TP
 | |
| .B -d
 | |
| The \fB-d\fR option causes the header file
 | |
| .IR y.tab.h
 | |
| to be written.
 | |
| .TP
 | |
| .B -l
 | |
| If the
 | |
| .B -l
 | |
| option is not specified,
 | |
| .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.
 | |
| 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.
 | |
| .TP
 | |
| .B -r
 | |
| The
 | |
| .B -r
 | |
| option causes
 | |
| .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
 | |
| .IR y.tab.c.
 | |
| .TP
 | |
| .B -t
 | |
| The
 | |
| .B -t
 | |
| option changes the preprocessor directives generated by
 | |
| .I yacc
 | |
| so that debugging statements will be incorporated in the compiled code.
 | |
| .TP
 | |
| .B -v
 | |
| The
 | |
| .B -v
 | |
| option causes a human-readable description of the generated parser to
 | |
| be written to the file
 | |
| .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.
 | |
| .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
 | |
| reported on standard error.
 | |
| If there are any LALR(1) conflicts, the number of conflicts is reported
 | |
| on standard error.
 |