test/derived/CalcParseTree.i3


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.