type TIFPSPascalCompiler = class
![]() |
constructor Create; |
![]() |
destructor Destroy; override; |
![]() |
function AddAttributeType: TIFPSAttributeType; |
![]() |
function AddClass(InheritsFrom: TIFPSCompileTimeClass; aClass: TClass): TIFPSCompileTimeClass; |
![]() |
function AddClassN(InheritsFrom: TIFPSCompileTimeClass; const aClass: string): TIFPSCompileTimeClass; |
![]() |
function AddConstant(const Name: string; FType: TIFPSType): TIFPSConstant; |
![]() |
function AddConstantN(const Name, FType: string): TIFPSConstant; |
![]() |
function AddDelphiFunction(const Decl: string): TIFPSRegProc; |
![]() |
function AddFunction(const Header: string): TIFPSRegProc; |
![]() |
function AddInterface(InheritedFrom: TIFPSInterface; Guid: TGuid; const Name: string): TIFPSInterface; |
![]() |
procedure AddToFreeList(Obj: TObject); |
![]() |
function AddType(const Name: string; const BaseType: TIFPSBaseType): TIFPSType; |
![]() |
function AddTypeCopy(const Name: string; TypeNo: TIFPSType): TIFPSType; |
![]() |
function AddTypeCopyN(const Name, FType: string): TIFPSType; |
![]() |
function AddTypeS(const Name, Decl: string): TIFPSType; |
![]() |
function AddUsedFunction(var Proc: TIFPSInternalProcedure): Cardinal; |
![]() |
function AddUsedFunction2(var Proc: TIFPSExternalProcedure): Cardinal; |
![]() |
function AddUsedPtrVariable(const Name: string; FType: TIFPSType): TIFPSVar; |
![]() |
function AddUsedPtrVariableN(const Name, FType: string): TIFPSVar; |
![]() |
function AddUsedVariable(const Name: string; FType: TIFPSType): TIFPSVar; |
![]() |
function AddUsedVariableN(const Name, FType: string): TIFPSVar; |
![]() |
function AddVariable(const Name: string; FType: TIFPSType): TIFPSVar; |
![]() |
function AddVariableN(const Name, FType: string): TIFPSVar; |
![]() |
function ApplyAttribsToFunction(func: TIFPSProcedure): boolean; |
![]() |
function at2ut(p: TIFPSType): TIFPSType; |
![]() |
function CheckCompatProc(P: TIFPSType; ProcNo: Cardinal): Boolean; |
![]() |
procedure CheckForUnusedVars(Func: TIFPSInternalProcedure); |
![]() |
procedure Clear; |
![]() |
function Compile(const s: string): Boolean; |
![]() |
procedure Debug_SavePosition(ProcNo: Cardinal; Proc: TIFPSInternalProcedure); |
![]() |
procedure Debug_WriteLine(BlockInfo: TIFPSBlockInfo); |
![]() |
procedure Debug_WriteParams(ProcNo: Cardinal; Proc: TIFPSInternalProcedure); |
![]() |
procedure DefineStandardProcedures; |
![]() |
procedure DefineStandardTypes; |
![]() |
function DoTypeBlock(FParser: TIfPascalParser): Boolean; |
![]() |
function DoVarBlock(proc: TIFPSInternalProcedure): Boolean; |
![]() |
function FindBaseType(BaseType: TIFPSBaseType): TIFPSType; |
![]() |
function FindClass(const aClass: string): TIFPSCompileTimeClass; |
![]() |
function FindInterface(const Name: string): TIFPSInterface; |
![]() |
function FindProc(const Name: string): Cardinal; |
![]() |
function FindType(const Name: string): TIFPSType; |
![]() |
function GetDebugOutput(var s: string): Boolean; |
![]() |
function GetMsg(l: Longint): TIFPSPascalCompilerMessage; |
![]() |
function GetMsgCount: Longint; |
![]() |
function GetOutput(var s: string): Boolean; |
![]() |
function GetProc(I: Longint): TIFPSProcedure; |
![]() |
function GetProcCount: Longint; |
![]() |
function GetType(I: Longint): TIFPSType; |
![]() |
function GetTypeCopyLink(p: TIFPSType): TIFPSType; |
![]() |
function GetTypeCount: Longint; |
![]() |
function GetTypeNo(BlockInfo: TIFPSBlockInfo; p: TIFPSValue): TIFPSType; |
![]() |
function GetVar(I: Longint): TIFPSVar; |
![]() |
function GetVarCount: Longint; |
![]() |
function GetWideString(Src: PIfRVariant; var s: Boolean): WideString; |
![]() |
function IsBoolean(aType: TIFPSType): Boolean; |
![]() |
function IsCompatibleType(p1, p2: TIFPSType; Cast: Boolean): Boolean; |
![]() |
function IsDuplicate(const s: string; const check: TIFPSDuplicCheck): Boolean; |
![]() |
function IsIntBoolType(aType: TIFPSType): Boolean; |
![]() |
function IsProcDuplicLabel(Proc: TIFPSInternalProcedure; const s: string): Boolean; |
![]() |
function IsVarInCompatible(ft1, ft2: TIFPSType): Boolean; |
![]() |
function MakeDecl(decl: TIFPSParametersDecl): string; |
![]() |
function MakeError(const Module: string; E: TIFPSPascalCompilerErrorType; const Param: string): TIFPSPascalCompilerMessage; |
![]() |
function MakeExportDecl(decl: TIFPSParametersDecl): string; |
![]() |
function MakeHint(const Module: string; E: TIFPSPascalCompilerHintType; const Param: string): TIFPSPascalCompilerMessage; |
![]() |
function MakeWarning(const Module: string; E: TIFPSPascalCompilerWarningType; const Param: string): TIFPSPascalCompilerMessage; |
![]() |
function NewProc(const OriginalName, Name: string): TIFPSInternalProcedure; |
![]() |
procedure ParserError(Parser: TObject; Kind: TIFParserErrorKind); |
![]() |
function PreCalc(FUseUsedTypes: Boolean; Var1Mod: Byte; var1: PIFRVariant; Var2Mod: Byte; Var2: PIfRVariant; Cmd: TIFPSBinOperatorType; Pos, Row, Col: Cardinal): Boolean; |
![]() |
function ProcessFunction(AlwaysForward: Boolean; Att: TIFPSAttributes): Boolean; |
![]() |
function ProcessLabel(Proc: TIFPSInternalProcedure): Boolean; |
![]() |
function ProcessLabelForwards(Proc: TIFPSInternalProcedure): Boolean; |
![]() |
function ProcessSub(BlockInfo: TIFPSBlockInfo): Boolean; |
![]() |
function ProcIsDuplic(Decl: TIFPSParametersDecl; const FunctionName, FunctionParamNames: string; const s: string; Func: TIFPSInternalProcedure): Boolean; |
![]() |
function ReadAttributes(Dest: TIFPSAttributes): Boolean; |
![]() |
function ReadConstant(FParser: TIfPascalParser; StopOn: TIfPasToken): PIfRVariant; |
![]() |
function ReadInteger(const s: string): PIfRVariant; |
![]() |
function ReadReal(const s: string): PIfRVariant; |
![]() |
function ReadString: PIfRVariant; |
![]() |
function ReadType(const Name: string; FParser: TIfPascalParser): TIFPSType; |
![]() |
function ReadTypeAddProcedure(const Name: string; FParser: TIfPascalParser): TIFPSType; |
![]() |
procedure UseProc(procdecl: TIFPSParametersDecl); |
![]() |
function ValidateParameters(BlockInfo: TIFPSBlockInfo; Params: TIFPSParameters; ParamTypes: TIFPSParametersDecl): boolean; |
![]() |
function VarIsDuplicate(Proc: TIFPSInternalProcedure; const VarNames, s: string): Boolean; |
![]() |
procedure WriteDebugData(const s: string); |
![]() |
constructor Create; |
Create
![]() |
destructor Destroy; override; |
Destroy the current instance of the script compiler
![]() |
function AddAttributeType: TIFPSAttributeType; |
Add an attribute type to the attribute type list
![]() |
function AddClass(InheritsFrom: TIFPSCompileTimeClass; aClass: TClass): TIFPSCompileTimeClass; |
Add a class
![]() |
function AddClassN(InheritsFrom: TIFPSCompileTimeClass; const aClass: string): TIFPSCompileTimeClass; |
Add a class without using the actual class
![]() |
function AddConstant(const Name: string; FType: TIFPSType): TIFPSConstant; |
Add a constant
![]() |
function AddConstantN(const Name, FType: string): TIFPSConstant; |
Add a constant
![]() |
function AddDelphiFunction(const Decl: string): TIFPSRegProc; |
Add a function and make it possible to directly call this function
![]() |
function AddFunction(const Header: string): TIFPSRegProc; |
Add a function, deprecated, use AddDelphiFunction
![]() |
function AddInterface(InheritedFrom: TIFPSInterface; Guid: TGuid; const Name: string): TIFPSInterface; |
Add an interface
![]() |
procedure AddToFreeList(Obj: TObject); |
Add an object to the auto-free list
![]() |
function AddType(const Name: string; const BaseType: TIFPSBaseType): TIFPSType; |
add a type, use AddTypeS for non-basetype based types
![]() |
function AddTypeCopy(const Name: string; TypeNo: TIFPSType): TIFPSType; |
Add a type copy type
![]() |
function AddTypeCopyN(const Name, FType: string): TIFPSType; |
Add a type copy type
![]() |
function AddTypeS(const Name, Decl: string): TIFPSType; |
Add a type declared in a string
![]() |
function AddUsedFunction(var Proc: TIFPSInternalProcedure): Cardinal; |
![]() |
function AddUsedFunction2(var Proc: TIFPSExternalProcedure): Cardinal; |
![]() |
function AddUsedPtrVariable(const Name: string; FType: TIFPSType): TIFPSVar; |
Add an used pointer variable, and export it
![]() |
function AddUsedPtrVariableN(const Name, FType: string): TIFPSVar; |
add an used pointer variable , and export it
![]() |
function AddUsedVariable(const Name: string; FType: TIFPSType): TIFPSVar; |
Add an used variable, and export it
![]() |
function AddUsedVariableN(const Name, FType: string): TIFPSVar; |
add an used variable , and export it
![]() |
function AddVariable(const Name: string; FType: TIFPSType): TIFPSVar; |
Add a variable, and export it
![]() |
function AddVariableN(const Name, FType: string): TIFPSVar; |
Add a variable, and export it
![]() |
function ApplyAttribsToFunction(func: TIFPSProcedure): boolean; |
![]() |
function at2ut(p: TIFPSType): TIFPSType; |
![]() |
function CheckCompatProc(P: TIFPSType; ProcNo: Cardinal): Boolean; |
![]() |
procedure CheckForUnusedVars(Func: TIFPSInternalProcedure); |
![]() |
procedure Clear; |
Clear the current data
![]() |
function Compile(const s: string): Boolean; |
Compile a script (s)
![]() |
procedure Debug_SavePosition(ProcNo: Cardinal; Proc: TIFPSInternalProcedure); |
![]() |
procedure Debug_WriteLine(BlockInfo: TIFPSBlockInfo); |
![]() |
procedure Debug_WriteParams(ProcNo: Cardinal; Proc: TIFPSInternalProcedure); |
![]() |
procedure DefineStandardProcedures; |
![]() |
procedure DefineStandardTypes; |
![]() |
function DoTypeBlock(FParser: TIfPascalParser): Boolean; |
![]() |
function DoVarBlock(proc: TIFPSInternalProcedure): Boolean; |
![]() |
function FindBaseType(BaseType: TIFPSBaseType): TIFPSType; |
![]() |
function FindClass(const aClass: string): TIFPSCompileTimeClass; |
Find a class
![]() |
function FindInterface(const Name: string): TIFPSInterface; |
Find a class
![]() |
function FindProc(const Name: string): Cardinal; |
![]() |
function FindType(const Name: string): TIFPSType; |
Search for a type
![]() |
function GetDebugOutput(var s: string): Boolean; |
Return the debugger output
![]() |
function GetMsg(l: Longint): TIFPSPascalCompilerMessage; |
![]() |
function GetMsgCount: Longint; |
![]() |
function GetOutput(var s: string): Boolean; |
Return the output
![]() |
function GetProc(I: Longint): TIFPSProcedure; |
Returns procedure nr I
![]() |
function GetProcCount: Longint; |
returns the procedure count
![]() |
function GetType(I: Longint): TIFPSType; |
returns type nr I
![]() |
function GetTypeCopyLink(p: TIFPSType): TIFPSType; |
![]() |
function GetTypeCount: Longint; |
returns the type count
![]() |
function GetTypeNo(BlockInfo: TIFPSBlockInfo; p: TIFPSValue): TIFPSType; |
![]() |
function GetVar(I: Longint): TIFPSVar; |
Returns variable number I
![]() |
function GetVarCount: Longint; |
Returns the variable count
![]() |
function GetWideString(Src: PIfRVariant; var s: Boolean): WideString; |
![]() |
function IsBoolean(aType: TIFPSType): Boolean; |
![]() |
function IsCompatibleType(p1, p2: TIFPSType; Cast: Boolean): Boolean; |
![]() |
function IsDuplicate(const s: string; const check: TIFPSDuplicCheck): Boolean; |
![]() |
function IsIntBoolType(aType: TIFPSType): Boolean; |
![]() |
function IsProcDuplicLabel(Proc: TIFPSInternalProcedure; const s: string): Boolean; |
![]() |
function IsVarInCompatible(ft1, ft2: TIFPSType): Boolean; |
![]() |
function MakeDecl(decl: TIFPSParametersDecl): string; |
![]() |
function MakeError(const Module: string; E: TIFPSPascalCompilerErrorType; const Param: string): TIFPSPascalCompilerMessage; |
Add an error the messages
![]() |
function MakeExportDecl(decl: TIFPSParametersDecl): string; |
![]() |
function MakeHint(const Module: string; E: TIFPSPascalCompilerHintType; const Param: string): TIFPSPascalCompilerMessage; |
Add a hint to the messages
![]() |
function MakeWarning(const Module: string; E: TIFPSPascalCompilerWarningType; const Param: string): TIFPSPascalCompilerMessage; |
Add a warning to the messages
![]() |
function NewProc(const OriginalName, Name: string): TIFPSInternalProcedure; |
![]() |
procedure ParserError(Parser: TObject; Kind: TIFParserErrorKind); |
![]() |
function PreCalc(FUseUsedTypes: Boolean; Var1Mod: Byte; var1: PIFRVariant; Var2Mod: Byte; Var2: PIfRVariant; Cmd: TIFPSBinOperatorType; Pos, Row, Col: Cardinal): Boolean; |
![]() |
function ProcessFunction(AlwaysForward: Boolean; Att: TIFPSAttributes): Boolean; |
![]() |
function ProcessLabel(Proc: TIFPSInternalProcedure): Boolean; |
![]() |
function ProcessLabelForwards(Proc: TIFPSInternalProcedure): Boolean; |
![]() |
function ProcessSub(BlockInfo: TIFPSBlockInfo): Boolean; |
![]() |
function ProcIsDuplic(Decl: TIFPSParametersDecl; const FunctionName, FunctionParamNames: string; const s: string; Func: TIFPSInternalProcedure): Boolean; |
![]() |
function ReadAttributes(Dest: TIFPSAttributes): Boolean; |
![]() |
function ReadConstant(FParser: TIfPascalParser; StopOn: TIfPasToken): PIfRVariant; |
![]() |
function ReadInteger(const s: string): PIfRVariant; |
![]() |
function ReadReal(const s: string): PIfRVariant; |
![]() |
function ReadString: PIfRVariant; |
![]() |
function ReadType(const Name: string; FParser: TIfPascalParser): TIFPSType; |
![]() |
function ReadTypeAddProcedure(const Name: string; FParser: TIfPascalParser): TIFPSType; |
![]() |
procedure UseProc(procdecl: TIFPSParametersDecl); |
![]() |
function ValidateParameters(BlockInfo: TIFPSBlockInfo; Params: TIFPSParameters; ParamTypes: TIFPSParametersDecl): boolean; |
![]() |
function VarIsDuplicate(Proc: TIFPSInternalProcedure; const VarNames, s: string): Boolean; |
![]() |
procedure WriteDebugData(const s: string); |
![]() |
property AllowNoBegin: Boolean; |
![]() |
property AllowNoEnd: Boolean; |
![]() |
property AllowUnit: Boolean; |
![]() |
property BooleanShortCircuit: Boolean; |
![]() |
property ID: Pointer; |
![]() |
property IsUnit: Boolean; |
![]() |
property Msg[l: Longint]: TIFPSPascalCompilerMessage; |
![]() |
property MsgCount: Longint; |
![]() |
property OnBeforeCleanup: TIFPSOnNotify; |
![]() |
property OnBeforeOutput: TIFPSOnNotify; |
![]() |
property OnExportCheck: TIFPSOnExportCheck; |
![]() |
property OnExternalProc: TIFPSOnExternalProc; |
![]() |
property OnTranslateLineInfo: TIFPSOnTranslateLineInfoProc; |
![]() |
property OnUses: TIFPSOnUses; |
![]() |
property OnUseVariable: TIFPSOnUseVariable; |
![]() |
property OnWriteLine: TIFPSOnWriteLineEvent; |
![]() |
property AllowNoBegin: Boolean; |
Allow no main begin/end
![]() |
property AllowNoEnd: Boolean; |
Allow it to have no END on the script (only works when AllowNoBegin is true)
![]() |
property AllowUnit: Boolean; |
Allow a unit instead of program
![]() |
property BooleanShortCircuit: Boolean; |
![]() |
property ID: Pointer; |
Tag for this object, use as you like
![]() |
property IsUnit: Boolean; |
contains true if the current file is a unit
![]() |
property Msg[l: Longint]: TIFPSPascalCompilerMessage; |
The messages/warnings/errors
![]() |
property MsgCount: Longint; |
contains the number of messages
![]() |
property OnBeforeCleanup: TIFPSOnNotify; |
This event is called before the compiled trees are cleaned up
![]() |
property OnBeforeOutput: TIFPSOnNotify; |
This event is called before the compiled trees are written
![]() |
property OnExportCheck: TIFPSOnExportCheck; |
OnExportCheck is called for each function to check if it needs to be exported and has the correct parameters
![]() |
property OnExternalProc: TIFPSOnExternalProc; |
OnExternalProc is called when an external token is found after a procedure header
![]() |
property OnTranslateLineInfo: TIFPSOnTranslateLineInfoProc; |
![]() |
property OnUses: TIFPSOnUses; |
OnUses i scalled for each Uses and always first with 'SYSTEM' parameters
![]() |
property OnUseVariable: TIFPSOnUseVariable; |
The OnUseVariant event is called when a variable is used by the script engine
![]() |
property OnWriteLine: TIFPSOnWriteLineEvent; |
OnWriteLine is called after each line