unit Macro; interface uses hashs, error, gmrdrv, parser, classes; type TMacroDrv = class constructor create; virtual; abstract; procedure execute(inNode: PParseNode); virtual; abstract; protected Ferr: TError; Fgmr: TGmr; FoutCode: TStringList; FoutData: TStringList; FsearchDirs: string; FgiantError: boolean; public property err: TError read Ferr write Ferr; property gmr: TGmr read Fgmr write Fgmr; property outCode: TStringList read FoutCode write FoutCode; property outData: TStringList read FoutData write FoutData; property searchDirs: string read FsearchDirs write FSearchDirs; property giantError: boolean read FgiantError write FgiantError; end; TMacroClass = class of TMacroDrv; implementation end.