home | help
pyacc(1)		     Pascal parser generator			pyacc(1)

NAME
     pyacc - Pascal Yacc compiler compiler.

USAGE
     yacc [options] yacc-file[.y] [output-file[.pas]]

     SH OPTIONS

     -v     Verbose:  Pascal Yacc generates a readable description of the gener-
	    ated parser, written to yacc-file with new extension .lst.

     -d     Debug: TP Yacc generates a parser with debugging output.

DESCRIPTION
     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 suf-
     fix .y) and writes the constructed parser subroutine to the specified  out-
     put-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 com-
     pilation,	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- gen-
     erated  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.

More information
     For more information, see the documentation that  comes  with  TP	lex  and
     yacc.

AUTHOR
     Albert   Graeff   (<ag@muwiinfa.geschichte.uni-mainz.de>,	 <Dr.Graef@t-on-
     line.de>)

SEE ALSO
     ppc386(1) plex(1)

Free Pascal			   19 Jan 2000				pyacc(1)

home | help