mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-07-05 17:08:29 +02:00
71 lines
2.3 KiB
Groff
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)
|