fpc/install/man/man1/pyacc.1

71 lines
2.3 KiB
Groff

.TH pyacc 1 "19 Jan 2000" "Free Pascal" "Pascal parser generator"
.SH NAME
pyacc \- Pascal Yacc compiler compiler.
.SH USAGE
.B yacc [options] yacc-file[.y] [output-file[.pas]]
SH OPTIONS
.TP
.B -v
.I Verbose:
Pascal Yacc generates a readable description of the generated
parser, written to yacc-file with new extension
.I .lst.
.TP
.B -d
.I Debug:
TP Yacc generates a parser with debugging output.
.SH DESCRIPTION
.B TP Yacc
is a program that lets you prepare parsers from the description
of input languages by BNF-like grammars. You simply specify the grammar
for your target language, augmented with the Turbo Pascal code necessary
to process the syntactic constructs, and TP Yacc translates your grammar
into the Turbo Pascal code for a corresponding parser subroutine named
yyparse.
TP Yacc parses the source grammar contained in yacc-file (with default
suffix .y) and writes the constructed parser subroutine to the specified
output-file (with default suffix .pas); if no output file is specified,
output goes to yacc-file with new suffix .pas. If any errors are found
during compilation, error messages are written to the list file (yacc-file
with new suffix .lst).
The generated parser routine, yyparse, is declared as:
function yyparse : Integer;
This routine may be called by your main program to execute the parser.
The return value of the yyparse routine denotes success or failure of
the parser (possible return values: 0 = success, 1 = unrecoverable syntax
error or parse stack overflow).
Similar to TP Lex, the code template for the yyparse routine may be found in
the yyparse.cod file. The rules for locating this file are analogous to those
of TP Lex (see Section `TP Lex').
The TP Yacc library (YaccLib) unit is required by programs using Yacc-
generated parsers; you will therefore have to put an appropriate uses clause
into your program or unit that contains the parser routine. The YaccLib unit
also provides some routines which may be used to control the actions of the
parser. See the file yacclib.pas for further information.
.SH More information
For more information, see the documentation that comes with TP lex and yacc.
.SH AUTHOR
Albert Graeff (<ag@muwiinfa.geschichte.uni-mainz.de>, <Dr.Graef@t-online.de>)
.SH SEE ALSO
.BR ppc386 (1)
.BR plex (1)