pyacc

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
              generated 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
       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.



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-
       online.de>)


SEE ALSO
       ppc386(1) plex(1)



Free Pascal                       19 Jan 2000                         pyacc(1)