test/derived/CalcParseStd.i3


INTERFACE CalcParseStd;
generated by kext
 extended parser definition 
IMPORT CalcTokStd;
IMPORT CalcParse;
TYPE
  expr = CalcParse.expr BRANDED "CalcParseStd.expr" OBJECT
    val: INTEGER
  END;
  number = CalcParse.number BRANDED "CalcParseStd.number" OBJECT
    val: INTEGER
  END;
  list = CalcParse.list;
  DIGIT = CalcTokStd.DIGIT;
  stat = CalcParse.stat;
  LETTER = CalcTokStd.LETTER;

  T <: Public;
  Public = CalcParse.T OBJECT
  END;

  (* And now, for a hack to allow compatible methods *)
  (* ... without importing the original parser *)
  Original_Parser = CalcParse.Original_Parser;
  Original_expr = CalcParse.Original_expr;
  Original_list = CalcParse.Original_list;
  Original_number = CalcParse.Original_number;
  Original_stat = CalcParse.Original_stat;
  (* ... and without importing the original token *)
  Original_LETTER = CalcParse.Original_LETTER;
  Original_DIGIT = CalcParse.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 CalcParseStd.