1
0
mirror of https://github.com/moparisthebest/Simba synced 2025-02-22 05:51:53 -05:00

Lape: Compiles again with lape ps support.

This commit is contained in:
Merlijn Wajer 2011-08-09 15:23:58 +02:00
parent abc66e76ca
commit 35958bbe31
6 changed files with 3 additions and 183 deletions

View File

@ -1,18 +1,3 @@
procedure Lape_round(const Params: PParamArray; const Result: Pointer);
begin
Pinteger(Result)^ := ps_round(Pextended(Params^[0])^);
end;
procedure Lape_iAbs(const Params: PParamArray; const Result: Pointer);
begin
Pinteger(Result)^ := ps_iAbs(Pinteger(Params^[0])^);
end;
procedure Lape_ceil(const Params: PParamArray; const Result: Pointer);
begin
Pinteger(Result)^ := ps_ceil(Pextended(Params^[0])^);
end;
procedure Lape_pow(const Params: PParamArray; const Result: Pointer);
begin
Pextended(Result)^ := ps_pow(Pextended(Params^[0])^, Pextended(Params^[1])^);
@ -33,11 +18,6 @@ begin
P2DExtendedArray(Result)^ := ps_GaussMatrix(Pinteger(Params^[0])^, Pextended(Params^[1])^);
end;
procedure Lape_exp(const Params: PParamArray; const Result: Pointer);
begin
Pextended(Result)^ := ps_exp(Pextended(Params^[0])^);
end;
procedure Lape_Max(const Params: PParamArray; const Result: Pointer);
begin
Pinteger(Result)^ := ps_Max(Pinteger(Params^[0])^, Pinteger(Params^[1])^);
@ -58,11 +38,6 @@ begin
Pextended(Result)^ := ps_MaxE(Pextended(Params^[0])^, Pextended(Params^[1])^);
end;
procedure Lape_Sqr(const Params: PParamArray; const Result: Pointer);
begin
Pextended(Result)^ := ps_Sqr(Pextended(Params^[0])^);
end;
procedure Lape_Point(const Params: PParamArray; const Result: Pointer);
begin
PPoint(Result)^ := ps_Point(Pinteger(Params^[0])^, Pinteger(Params^[1])^);
@ -83,11 +58,6 @@ begin
PInteger(Result)^ := ps_RandomRange(PInteger(Params^[0])^, PInteger(Params^[1])^);
end;
procedure Lape_Random(const Params: PParamArray; const Result: Pointer);
begin
Pinteger(Result)^ := ps_Random(Pinteger(Params^[0])^);
end;
procedure Lape_RandomE(const Params: PParamArray; const Result: Pointer);
begin
Pextended(Result)^ := ps_RandomE();
@ -148,31 +118,11 @@ begin
PBoolean(Result)^ := ps_PointInBox(PPoint(Params^[0])^, PBox(Params^[1])^);
end;
procedure Lape_floor(const Params: PParamArray; const Result: Pointer);
begin
Pinteger(Result)^ := ps_floor(Pextended(Params^[0])^);
end;
procedure Lape_logn(const Params: PParamArray; const Result: Pointer);
begin
Pextended(Result)^ := ps_logn(Pextended(Params^[0])^, Pextended(Params^[1])^);
end;
procedure Lape_ln(const Params: PParamArray; const Result: Pointer);
begin
Pextended(Result)^ := ps_ln(Pextended(Params^[0])^);
end;
procedure Lape_inttohex(const Params: PParamArray; const Result: Pointer);
begin
Pstring(Result)^ := ps_inttohex(Pinteger(Params^[0])^);
end;
procedure Lape_hextoint(const Params: PParamArray; const Result: Pointer);
begin
Pinteger(Result)^ := ps_hextoint(Pstring(Params^[0])^);
end;
procedure Lape_sar(const Params: PParamArray; const Result: Pointer);
begin
Plongint(Result)^ := ps_sar(Plongint(Params^[0])^, Pbyte(Params^[1])^);
@ -213,11 +163,6 @@ begin
Pextended(Result)^ := ps_ArcCos(Pextended(Params^[0])^);
end;
procedure Lape_ArcTan(const Params: PParamArray; const Result: Pointer);
begin
Pextended(Result)^ := ps_ArcTan(Pextended(Params^[0])^);
end;
procedure Lape_Cotan(const Params: PParamArray; const Result: Pointer);
begin
Pextended(Result)^ := ps_Cotan(Pextended(Params^[0])^);

View File

@ -113,31 +113,6 @@ begin
ps_ConvertTime(Pinteger(Params^[0])^, Pinteger(Params^[1])^, Pinteger(Params^[2])^, Pinteger(Params^[3])^);
end;
procedure Lape_DecodeDate(const Params: PParamArray);
begin
ps_DecodeDate(PDateTime(Params^[0])^, PWord(Params^[1])^, PWord(Params^[2])^, PWord(Params^[3])^);
end;
procedure Lape_DecodeTime(const Params: PParamArray);
begin
ps_DecodeTime(PDateTime(Params^[0])^, Pword(Params^[1])^, Pword(Params^[2])^, Pword(Params^[3])^, Pword(Params^[4])^);
end;
procedure Lape_Now(const Params: PParamArray; const Result: Pointer);
begin
PDateTime(Result)^ := ps_Now();
end;
procedure Lape_Date(const Params: PParamArray; const Result: Pointer);
begin
PDateTime(Result)^ := ps_Date();
end;
procedure Lape_GetTickCount(const Params: PParamArray; const Result: Pointer);
begin
PLongword(Result)^ := ps_GetTickCount();
end;
procedure Lape_HakunaMatata(const Params: PParamArray);
begin
ps_HakunaMatata();

View File

@ -28,56 +28,11 @@ begin
Pstring(Result)^ := ps_ExtractFromStr(Pstring(Params^[0])^, PStrExtr(Params^[1])^);
end;
procedure Lape_BoolToStr(const Params: PParamArray; const Result: Pointer);
begin
Pstring(Result)^ := ps_BoolToStr(Pboolean(Params^[0])^);
end;
procedure Lape_Replace(const Params: PParamArray; const Result: Pointer);
begin
Pstring(Result)^ := ps_Replace(Pstring(Params^[0])^, Pstring(Params^[1])^, Pstring(Params^[2])^, PReplaceFlags(Params^[3])^);
end;
procedure Lape_IntToStr(const Params: PParamArray; const Result: Pointer);
begin
Pstring(Result)^ := ps_IntToStr(Pinteger(Params^[0])^);
end;
procedure Lape_FloatToStr(const Params: PParamArray; const Result: Pointer);
begin
Pstring(Result)^ := ps_FloatToStr(Pextended(Params^[0])^);
end;
procedure Lape_StrToInt(const Params: PParamArray; const Result: Pointer);
begin
PInteger(Result)^ := ps_StrToInt(PString(Params^[0])^);
end;
procedure Lape_StrToIntDef(const Params: PParamArray; const Result: Pointer);
begin
PInteger(Result)^ := ps_StrToIntDef(PString(Params^[0])^, PInteger(Params^[1])^);
end;
procedure Lape_StrToFloat(const Params: PParamArray; const Result: Pointer);
begin
PExtended(Result)^ := ps_StrToFloat(PString(Params^[0])^);
end;
procedure Lape_StrToFloatDef(const Params: PParamArray; const Result: Pointer);
begin
PExtended(Result)^ := ps_StrToFloatDef(PString(Params^[0])^, PExtended(Params^[1])^);
end;
procedure Lape_StrToBool(const Params: PParamArray; const Result: Pointer);
begin
PBoolean(Result)^ := ps_StrToBool(PString(Params^[0])^);
end;
procedure Lape_StrToBoolDef(const Params: PParamArray; const Result: Pointer);
begin
PBoolean(Result)^ := ps_StrToBoolDef(PString(Params^[0])^, PBoolean(Params^[1])^);
end;
procedure Lape_Between(const Params: PParamArray; const Result: Pointer);
begin
Pstring(Result)^ := ps_Between(Pstring(Params^[0])^, Pstring(Params^[1])^, Pstring(Params^[2])^);
@ -98,21 +53,6 @@ begin
ps_ExplodeWrap(Pstring(Params^[0])^, Pstring(Params^[1])^, PStringArray(Params^[2])^);
end;
procedure Lape_Padl(const Params: PParamArray; const Result: Pointer);
begin
PString(Result)^ := ps_Padl(PString(Params^[0])^, PlongInt(Params^[1])^);
end;
procedure Lape_Padz(const Params: PParamArray; const Result: Pointer);
begin
PString(Result)^ := ps_Padz(PString(Params^[0])^, PlongInt(Params^[1])^);
end;
procedure Lape_Padr(const Params: PParamArray; const Result: Pointer);
begin
PString(Result)^ := ps_Padr(PString(Params^[0])^, PlongInt(Params^[1])^);
end;
procedure Lape_ExecRegExpr(const Params: PParamArray; const Result: Pointer);
begin
Pboolean(Result)^ := ps_ExecRegExpr(PString(Params^[0])^, PString(Params^[1])^);

View File

@ -34,24 +34,9 @@ addGlobalVar(ps_mouse_left, 'mouse_Left');//1
addGlobalVar(ps_mouse_middle, 'mouse_Middle');//2
addGlobalType('UInt32', 'TClickType');
addGlobalType('UInt8', 'Byte');
addGlobalType('Int8', 'ShortInt');
addGlobalType('UInt16', 'Word');
addGlobalType('Int16', 'SmallInt');
addGlobalType('UInt32', 'LongWord');
addGlobalType('UInt32', 'DWord');
addGlobalType('UInt32', 'Cardinal');
addGlobalType('Int32', 'LongInt');
addGlobalType('UInt64', 'QWord');
addGlobalType('LongInt', 'Integer');
addGlobalType('Integer', 'TColor');
addGlobalType('Double', 'TDateTime');
addGlobalType('(rfReplaceAll, rfIgnoreCase)', 'TReplaceFlag');
addGlobalType('set of TReplaceFlag', 'TReplaceFlags');
addGlobalType('(Numbers, Letters, Others)', 'StrExtr');
addGlobalType('(MirrorWidth, MirrorHeight, MirrorLine)', 'TBmpMirrorStyle');

View File

@ -97,24 +97,18 @@ AddGlobalFunc('function CalculatePixelTolerance(Bmp1,Bmp2: Integer; CompareBox:
{ Math }
AddGlobalFunc('function round(e: extended): integer', @Lape_round);
AddGlobalFunc('function iAbs(a: integer): integer', @Lape_iAbs);
AddGlobalFunc('function ceil(e: extended): integer', @Lape_ceil);
AddGlobalFunc('function pow(base,exponent: extended): extended', @Lape_pow);
AddGlobalFunc('function RiemannGauss(Xstart,StepSize,Sigma: extended; AmountSteps: integer): extended', @Lape_RiemannGauss);
AddGlobalFunc('function DiscreteGauss(Xstart,Xend: integer; sigma: extended): TExtendedArray', @Lape_DiscreteGauss);
AddGlobalFunc('function GaussMatrix(N: integer; sigma: extended): T2DExtendedArray', @Lape_GaussMatrix);
AddGlobalFunc('function exp(exponent: extended): extended', @Lape_exp);
AddGlobalFunc('function Max(a,b: integer): integer', @Lape_Max);
AddGlobalFunc('function Min(a, b: Integer): Integer', @Lape_Min);
AddGlobalFunc('function MinE(a, b: extended): extended', @Lape_MinE);
AddGlobalFunc('function MaxE(a,b: extended): extended', @Lape_MaxE);
AddGlobalFunc('function Sqr(e: extended): extended', @Lape_Sqr);
AddGlobalFunc('function Point(x,y: integer): TPoint', @Lape_Point);
AddGlobalFunc('function Distance(x1,y1,x2,y2: integer): integer', @Lape_Distance);
AddGlobalFunc('function Hypot(X, Y: Extended): Extended', @Lape_Hypot);
AddGlobalFunc('function RandomRange(const aFrom, aTo: Integer): Integer', @Lape_RandomRange);
AddGlobalFunc('function Random(Int: integer): integer', @Lape_Random);
AddGlobalFunc('function RandomE: extended', @Lape_RandomE);
AddGlobalFunc('function ArcTan2(y,x: extended): extended', @Lape_ArcTan2);
AddGlobalFunc('procedure IncEx(var x: integer; increase: integer);', @Lape_IncEx);
@ -127,11 +121,7 @@ AddGlobalFunc('function IntToBox(x1,y1,x2,y2: integer): TBox', @Lape_IntToBox);
AddGlobalFunc('function IntInBox(x, y: Integer; Box: TBox): Boolean', @Lape_IntInBox);
AddGlobalFunc('function PointToBox(PT1,PT2: TPoint): TBox', @Lape_PointToBox);
AddGlobalFunc('function PointInBox(PT: TPoint; Box: TBox): Boolean', @Lape_PointInBox);
AddGlobalFunc('function floor(e: extended): integer', @Lape_floor);
AddGlobalFunc('function logn(base, x: extended): extended', @Lape_logn);
AddGlobalFunc('function ln(x: extended): extended', @Lape_ln);
AddGlobalFunc('function inttohex(value: integer): string', @Lape_inttohex);
AddGlobalFunc('function hextoint(hex: string): integer', @Lape_hextoint);
AddGlobalFunc('function sar(AValue: longint; shift: byte): longint', @Lape_sar);
AddGlobalFunc('function ror(num: longword; shift: byte): LongWord', @Lape_ror);
AddGlobalFunc('function rol(num: longword; shift: byte): LongWord', @Lape_rol);
@ -140,7 +130,6 @@ AddGlobalFunc('function radians(e: extended): extended', @Lape_radians);
AddGlobalFunc('function degrees(e: extended): extended', @Lape_degrees);
AddGlobalFunc('function ArcSin(e: extended): extended', @Lape_ArcSin);
AddGlobalFunc('function ArcCos(e: extended): extended', @Lape_ArcCos);
AddGlobalFunc('function ArcTan(e: extended): extended', @Lape_ArcTan);
AddGlobalFunc('function Cotan(e: extended): extended', @Lape_Cotan);
AddGlobalFunc('function Secant(e: extended): extended', @Lape_Secant);
AddGlobalFunc('function Cosecant(e: extended): extended', @Lape_Cosecant);
@ -304,6 +293,7 @@ AddGlobalFunc('procedure Writeln(const str: string);', @Lape_Writeln);
AddGlobalFunc('function SetScriptProp(prop: TSP_Property; Value: TVariantArray): boolean', @Lape_SetScriptProp);
AddGlobalFunc('function GetScriptProp(prop: TSP_Property; var Value: TVariantArray): boolean', @Lape_GetScriptProp);
AddGlobalFunc('procedure Wait(t: DWord);', @Lape_Wait);
AddGlobalFunc('procedure Sleep(t: DWord); override', @Lape_Wait); // XXX: OVERRIDE THIS
AddGlobalFunc('procedure PlaySound(Sound: string);', @Lape_PlaySound);
AddGlobalFunc('Procedure StopSound;', @Lape_StopSound);
@ -326,11 +316,6 @@ AddGlobalFunc('procedure TerminateScript;', @Lape_TerminateScript);
AddGlobalFunc('function GetTimeRunning: LongWord', @Lape_GetTimeRunning);
//AddGlobalFunc('function GetTClient: TClient', @Lape_GetTClient);
AddGlobalFunc('procedure ConvertTime(Time: integer; var h,m,s: integer);', @Lape_ConvertTime);
AddGlobalFunc('procedure DecodeDate(const SourceDate: TDateTime; var Year, Month, Day: Word);', @Lape_DecodeDate);
AddGlobalFunc('procedure DecodeTime(DateTime: TDateTime; var Hour,Min,Sec,MSec: word);', @Lape_DecodeTime);
AddGlobalFunc('function Now: TDateTime', @Lape_Now);
AddGlobalFunc('function Date: TDateTime', @Lape_Date);
AddGlobalFunc('function GetTickCount: Longword', @Lape_GetTickCount);
AddGlobalFunc('procedure HakunaMatata;', @Lape_HakunaMatata);
AddGlobalFunc('procedure Simba;', @Lape_Simba);
AddGlobalFunc('procedure SetClipBoard(const Data: string);', @Lape_SetClipBoard);
@ -358,23 +343,11 @@ AddGlobalFunc('function DecompressString(const Compressed: string): string', @La
AddGlobalFunc('function Base64Encode(const str: string): string', @Lape_Base64Encode);
AddGlobalFunc('function Base64Decode(const str: string): string', @Lape_Base64Decode);
AddGlobalFunc('function ExtractFromStr(Str: string; Extract: StrExtr): string', @Lape_ExtractFromStr);
AddGlobalFunc('function BoolToStr(bool: boolean): string', @Lape_BoolToStr);
AddGlobalFunc('function Replace(Text, FindStr, ReplaceStr: string; Flags: TReplaceFlags): string', @Lape_Replace);
AddGlobalFunc('function IntToStr(int: integer): string', @Lape_IntToStr);
AddGlobalFunc('function FloatToStr(flt: extended): string', @Lape_FloatToStr);
AddGlobalFunc('function StrToInt(value: String): Integer', @Lape_StrToInt);
AddGlobalFunc('function StrToIntDef(value: String; default: Integer): Integer', @Lape_StrToIntDef);
AddGlobalFunc('function StrToFloat(value: String): Extended', @Lape_StrToFloat);
AddGlobalFunc('function StrToFloatDef(value: String; default: Extended): Extended', @Lape_StrToFloatDef);
AddGlobalFunc('function StrToBool(value: String): Boolean', @Lape_StrToBool);
AddGlobalFunc('function StrToBoolDef(value: String; default: Boolean): Boolean', @Lape_StrToBoolDef);
AddGlobalFunc('function Between(s1, s2, str: string): string', @Lape_Between);
AddGlobalFunc('function Implode(Glue: string; Pieces: TStringArray): string', @Lape_Implode);
AddGlobalFunc('function Explode(del, str: string): TStringArray', @Lape_Explode);
AddGlobalFunc('procedure ExplodeWrap(del, str: string; var res: TStringArray);', @Lape_ExplodeWrap);
AddGlobalFunc('function Padl(s: String; i: longInt): String', @Lape_Padl);
AddGlobalFunc('function Padz(s: String; i: longInt): String', @Lape_Padz);
AddGlobalFunc('function Padr(s: String; i: longInt): String', @Lape_Padr);
AddGlobalFunc('function ExecRegExpr(const RegExpr, InputStr: String): boolean', @Lape_ExecRegExpr);
//AddGlobalFunc('procedure SplitRegExpr(const RegExpr, InputStr: String; Pieces: TStrings);', @Lape_SplitRegExpr);
AddGlobalFunc('function ReplaceRegExpr(const RegExpr, InputStr, ReplaceStr: String; UseSubstitution: boolean): String', @Lape_ReplaceRegExpr);

View File

@ -1308,6 +1308,8 @@ begin
Parser := TLapeTokenizerString.Create('');
Compiler := TLapeCompiler.Create(Parser);
InitializePascalScriptBasics(Compiler);
Compiler.OnFindFile := @OnFindFile;
Compiler.OnHandleDirective := @OnHandleDirective;
Fonts := Client.MOCR.Fonts;