- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
- ." %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 file_prefix
- .B ] [ -p
- .I symbol_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 fIfile_prefixfR
- The
- .B -b
- option changes the prefix prepended to the output file names to
- the string denoted by
- .IR file_prefix.
- The default prefix is the character
- .IR y.
- .TP
- .B -d
- The fB-dfR 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-lfR option is specified,
- .I yacc
- will not insert the #line directives.
- &#line directives specified by the user will be retained.
- .TP
- fB-p fIsymbol_prefixfR
- 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
- .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.