TEST_Parse_type_Paragraph.txt
上传用户:yjb1804
上传日期:2021-01-30
资源大小:3105k
文件大小:2k
源码类别:

Email服务器

开发平台:

Delphi

  1. type
  2.   EUnitIDExpected = class(Exception);
  3.   EEqualExpected = class(Exception);
  4.   lex_token = record
  5.     Str: string;
  6.     token_type: token_enum;
  7.   end;
  8.   TParseNodeClass = class
  9.     fNameClass: string;
  10.     fPubMethodList: TStringList;
  11.     fPrtMethodList: TStringList;
  12.     fPvtMethodList: TSTringList;
  13.   public
  14.     constructor Create(newName: string); virtual;
  15.     destructor Destroy; override;
  16.     property PubMethodList: TStringList read fpubMethodList write fpubMethodList;
  17.     property PrtMethodList: TStringList read fPrtMethodList write fPrtMethodList;
  18.     property PvtMethodList: TSTringList read fPvtMethodList write fPvtMethodList;
  19.     property NameClass: string read fNameClass write fNameClass;
  20.   published
  21.     procedure X; virtual;
  22.   end;
  23.   TXPStubParser = class
  24.   protected
  25.     funitName: string;
  26.     lex: TParser;
  27.     fSrcStream: TStream;
  28.     fParseNodeList: TList;
  29.     procedure SetSrcStream(NewStream: TStream);
  30.     procedure NewClassNode(NameOfNode: string);
  31.     procedure NewPubMethodIdent(NameOfMethod: string);
  32.     procedure NewPvtMethodIdent(NameOfMethod: string);
  33.     procedure NewPrtMethodIdent(NameOfMethod: string);
  34.     function Get_Token(lex: TParser): lex_token;
  35.     function Parse_Unit_Heading(lex: TParser): lex_token;
  36.     function Parse_const_Paragraph(lex: TParser): lex_token;
  37.     function Parse_type_Paragraph(lex: TParser): lex_token;
  38.     function Parse_var_paragraph(lex: TParser): lex_token;
  39.     function Parse_uses_clause(lex: TParser): lex_token;
  40.     function Parse_typedef(ident: string; lex: TParser): lex_token;
  41.     function Parse_tobject_derived(token: lex_token; lex: TParser): lex_token;
  42.     function Parse_derived(ident: string; lex: TParser): lex_token;
  43.     function SyncToken(target: token_enum; lex: TParser): lex_token;
  44.   public
  45.     constructor Create; virtual;
  46.     destructor Destroy; override;
  47.     procedure Parse;
  48.     property SrcStream: TStream read fSrcStream write SetSrcStream;
  49.     property unitName: string read funitName write funitName;
  50.     property ParseNodeList: TList read fParseNodeList write fParseNodeList;
  51.   end;
  52. var
  53.