Fasm Added

This commit is contained in:
2018-03-22 00:56:26 +03:00
parent 6aacaf3982
commit 5f86c714b0
4 changed files with 114 additions and 47 deletions

View File

@@ -17,7 +17,7 @@ const
CRTBCallTypeDefault=$80;
type
TRTBCompliter=class;
TRTBCompiler=class;
TRTBCallType=CRTBCallTypeNil..CRTBCallTypeDefault;
@@ -27,31 +27,60 @@ type
end;
TRTBLib=class abstract
private
protected
function GetFuntion(Name:string):TRTBFunc;virtual;abstract;
public
property Funtion[Name:string]:TRTBFunc read GetFuntion;
end;
TRTBSource=class abstract
private
Compliter:TRTBCompliter;
protected
Compiler:TRTBCompiler;
function GetText:string;virtual;abstract;
procedure SetText(S:string);virtual;abstract;
public
procedure CompleteAsLib:TRTBLib;virtual;abstract;
procedure CompleteAsFunc:TRTBLib;virtual;abstract;
constructor Create(Compiler:TRTBCompiler);
function CompilateAsFunc:TRTBFunc;virtual;abstract;
function CompilateAsLib:TRTBLib;virtual;abstract;
procedure LoadFromFile(&File:string);
procedure SaveToFile(&File:string);
property Text:string read GetText write SetText;
end;
TRTBCompliter=class abstract
TRTBCompiler=class abstract
public
function LoadLib(Name:string):TRTBLib;virtual;abstract;
function GenNewSrc():TRTBSource;virtual;abstract;
function CompleteFunc(Source:TRTBSource;args:array of const):TRTBFunc;virtual;abstract;
function CompleteLib(Source:TRTBSource;args:array of const):TRTBLib;virtual;abstract;
end;
implementation
uses
System.SysUtils,System.Classes;
constructor TRTBSource.Create(Compiler:TRTBCompiler);
begin
Self.Compiler:=Compiler;
end;
procedure TRTBSource.LoadFromFile(&File:string);
var
Data:TStrings;
begin
Data:=TStringList.Create;
Data.LoadFromFile(&File);
Text:=Data.Text;
FreeAndNil(Data);
end;
procedure TRTBSource.SaveToFile(&File:string);
var
Data:TStrings;
begin
Data:=TStringList.Create;
Data.Text:=Text;
Data.SaveToFile(&File);
FreeAndNil(Data);
end;
end.