Man Linux: Main Page and Category List

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)