INTERFACE CalcParseTree;
generated by kext
extended parser definition
IMPORT CalcTokStd;
IMPORT CalcParseStd;
TYPE
expr = CalcParseStd.expr BRANDED "CalcParseTree.expr" OBJECT
e1, e2: expr; kind: CHAR := 'N'
END;
list = CalcParseStd.list;
number = CalcParseStd.number;
DIGIT = CalcTokStd.DIGIT;
stat = CalcParseStd.stat;
LETTER = CalcTokStd.LETTER;
T <: Public;
Public = CalcParseStd.T OBJECT
END;
(* And now, for a hack to allow compatible methods *)
(* ... without importing the original parser *)
Original_Parser = CalcParseStd.Original_Parser;
Original_expr = CalcParseStd.Original_expr;
Original_list = CalcParseStd.Original_list;
Original_number = CalcParseStd.Original_number;
Original_stat = CalcParseStd.Original_stat;
(* ... and without importing the original token *)
Original_LETTER = CalcParseStd.Original_LETTER;
Original_DIGIT = CalcParseStd.Original_DIGIT;
(* Make this interface as good as any token interface *)
Token = CalcTokStd.Token;
ConstToken = CalcTokStd.ConstToken;
ParseType = CalcTokStd.ParseType;
Allocator = CalcTokStd.Allocator;
Lexer = CalcTokStd.Lexer;
RdLexer = CalcTokStd.RdLexer;
CONST
NewPT = CalcTokStd.NewPT;
Purge = CalcTokStd.Purge;
NewConstToken = CalcTokStd.NewConstToken;
END CalcParseTree.