| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 | {  Yacc Library Unit for TP Yacc  Copyright (c) 1990-92  Albert Graef <[email protected]>  Copyright (C) 1996     Berend de Boer <[email protected]>  This program is free software; you can redistribute it and/or modify  it under the terms of the GNU General Public License as published by  the Free Software Foundation; either version 2 of the License, or  (at your option) any later version.  This program is distributed in the hope that it will be useful,  but WITHOUT ANY WARRANTY; without even the implied warranty of  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License for more details.  You should have received a copy of the GNU General Public License  along with this program; if not, write to the Free Software  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.$Revision: 1.2 $$Modtime: 96-08-01 14:04 $$History: YACCLIB.PAS $ * * *****************  Version 2  ***************** * User: Berend       Date: 96-10-10   Time: 21:16 * Updated in $/Lex and Yacc/tply * Updated for protected mode, windows and Delphi 1.X and 2.X.}{$I-}{$H+}unit h2pYaccLib;(* Yacc Library Unit for TP Yacc Version 3.0, 6-17-91 AG *)interfaceconst yymaxdepth = 10000;  (* default stack size of parser *)type YYSType = Integer;  (* default value type, may be redefined in Yacc output file *)varyychar   : Integer; (* current lookahead character *)yynerrs  : Integer; (* current number of syntax errors reported by the                       parser *)yydebug  : Boolean; (* set to true to enable debugging output of parser *)line_no : longint;procedure yyerror ( msg : String );  (* error message printing routine used by the parser *)procedure yyclearin;  (* delete the current lookahead token *)procedure yyaccept;  (* trigger accept action of the parser; yyparse accepts returning 0, as if     it reached end of input *)procedure yyabort;  (* like yyaccept, but causes parser to return with value 1, as if an     unrecoverable syntax error had been encountered *)procedure yyerrlab;  (* causes error recovery to be started, as if a syntax error had been     encountered *)procedure yyerrok;  (* when in error mode, resets the parser to its normal mode of     operation *)(* Flags used internally by the parser routine: *)varyyflag    : ( yyfnone, yyfaccept, yyfabort, yyferror );yyerrflag : Integer;implementationprocedure yyerror ( msg : String );  begin    writeln('at line ',line_no,' error : ',msg);  end(*yyerrmsg*);procedure yyclearin;  begin    yychar := -1;  end(*yyclearin*);procedure yyaccept;  begin    yyflag := yyfaccept;  end(*yyaccept*);procedure yyabort;  begin    yyflag := yyfabort;  end(*yyabort*);procedure yyerrlab;  begin    yyflag := yyferror;  end(*yyerrlab*);procedure yyerrok;  begin    yyerrflag := 0;  end(*yyerrork*);end(*YaccLib*).
 |