📄 rm_jvinterpreter.hpp
字号:
#pragma option push -w-inl
/* TObject.Destroy */ inline __fastcall virtual ~TJvInterpreterDMethod(void) { }
#pragma option pop
};
class DELPHICLASS TJvInterpreterClass;
class PASCALIMPLEMENTATION TJvInterpreterClass : public TJvInterpreterIdentifier
{
typedef TJvInterpreterIdentifier inherited;
private:
TJvInterpreterVarList* FClassFields;
protected:
TMetaClass* FClassType;
public:
__property TJvInterpreterVarList* ClassFields = {read=FClassFields};
__fastcall TJvInterpreterClass(void);
__fastcall virtual ~TJvInterpreterClass(void);
};
class DELPHICLASS TJvInterpreterConst;
class PASCALIMPLEMENTATION TJvInterpreterConst : public TJvInterpreterIdentifier
{
typedef TJvInterpreterIdentifier inherited;
protected:
Variant Value;
public:
#pragma option push -w-inl
/* TObject.Create */ inline __fastcall TJvInterpreterConst(void) : TJvInterpreterIdentifier() { }
#pragma option pop
#pragma option push -w-inl
/* TObject.Destroy */ inline __fastcall virtual ~TJvInterpreterConst(void) { }
#pragma option pop
};
typedef TJvInterpreterRecField TJvInterpreterRecFields[33];
class DELPHICLASS TJvInterpreterRecord;
class PASCALIMPLEMENTATION TJvInterpreterRecord : public TJvInterpreterIdentifier
{
typedef TJvInterpreterIdentifier inherited;
protected:
int RecordSize;
int FieldCount;
TJvInterpreterRecField Fields[33];
TJvInterpreterAdapterNewRecord CreateFunc;
TJvInterpreterAdapterDisposeRecord DestroyFunc;
TJvInterpreterAdapterCopyRecord CopyFunc;
void __fastcall AddField(const AnsiString UnitName, const AnsiString Identifier, const AnsiString Typ, Word VTyp, const Variant &Value, _di_IJvInterpreterDataType DataType);
void __fastcall NewRecord(Variant &Value);
public:
#pragma option push -w-inl
/* TObject.Create */ inline __fastcall TJvInterpreterRecord(void) : TJvInterpreterIdentifier() { }
#pragma option pop
#pragma option push -w-inl
/* TObject.Destroy */ inline __fastcall virtual ~TJvInterpreterRecord(void) { }
#pragma option pop
};
class DELPHICLASS TJvInterpreterRecMethod;
class PASCALIMPLEMENTATION TJvInterpreterRecMethod : public TJvInterpreterIdentifier
{
typedef TJvInterpreterIdentifier inherited;
protected:
TJvInterpreterRecord* JvInterpreterRecord;
TParamCount ParamCount;
Word ParamTypes[33];
Word ResTyp;
void *Func;
public:
#pragma option push -w-inl
/* TObject.Create */ inline __fastcall TJvInterpreterRecMethod(void) : TJvInterpreterIdentifier() { }
#pragma option pop
#pragma option push -w-inl
/* TObject.Destroy */ inline __fastcall virtual ~TJvInterpreterRecMethod(void) { }
#pragma option pop
};
class DELPHICLASS TJvInterpreterRecHolder;
class PASCALIMPLEMENTATION TJvInterpreterRecHolder : public TJvInterpreterIdentifier
{
typedef TJvInterpreterIdentifier inherited;
protected:
AnsiString FRecordType;
TJvInterpreterRecord* JvInterpreterRecord;
void *Rec;
public:
__fastcall TJvInterpreterRecHolder(const AnsiString ARecordType, void * ARec);
__fastcall virtual ~TJvInterpreterRecHolder(void);
__property AnsiString RecordType = {read=FRecordType};
};
typedef int TJvInterpreterArrayValues[10];
struct TJvInterpreterArrayRec;
typedef TJvInterpreterArrayRec *PJvInterpreterArrayRec;
#pragma pack(push,1)
struct TJvInterpreterArrayRec
{
public:
int Dimension;
int BeginPos[10];
int EndPos[10];
int ItemType;
_di_IJvInterpreterDataType DT;
int ElementSize;
int Size;
void *Memory;
} ;
#pragma pack(pop)
class DELPHICLASS TJvInterpreterSrcFunction;
class PASCALIMPLEMENTATION TJvInterpreterSrcFunction : public TJvInterpreterIdentifier
{
typedef TJvInterpreterIdentifier inherited;
private:
TJvInterpreterFunctionDesc* FFunctionDesc;
public:
__fastcall TJvInterpreterSrcFunction(void);
__fastcall virtual ~TJvInterpreterSrcFunction(void);
__property TJvInterpreterFunctionDesc* FunctionDesc = {read=FFunctionDesc};
};
class DELPHICLASS TJvInterpreterExtFunction;
class PASCALIMPLEMENTATION TJvInterpreterExtFunction : public TJvInterpreterSrcFunction
{
typedef TJvInterpreterSrcFunction inherited;
protected:
unsigned DllInstance;
AnsiString DllName;
AnsiString FunctionName;
int FunctionIndex;
Variant __fastcall CallDll(TJvInterpreterArgs* Args);
public:
#pragma option push -w-inl
/* TJvInterpreterSrcFunction.Create */ inline __fastcall TJvInterpreterExtFunction(void) : TJvInterpreterSrcFunction() { }
#pragma option pop
#pragma option push -w-inl
/* TJvInterpreterSrcFunction.Destroy */ inline __fastcall virtual ~TJvInterpreterExtFunction(void) { }
#pragma option pop
};
class DELPHICLASS TJvInterpreterEventDesc;
class PASCALIMPLEMENTATION TJvInterpreterEventDesc : public TJvInterpreterIdentifier
{
typedef TJvInterpreterIdentifier inherited;
protected:
TMetaClass* EventClass;
void *Code;
public:
#pragma option push -w-inl
/* TObject.Create */ inline __fastcall TJvInterpreterEventDesc(void) : TJvInterpreterIdentifier() { }
#pragma option pop
#pragma option push -w-inl
/* TObject.Destroy */ inline __fastcall virtual ~TJvInterpreterEventDesc(void) { }
#pragma option pop
};
class DELPHICLASS TJvInterpreterRecordDataType;
class PASCALIMPLEMENTATION TJvInterpreterRecordDataType : public System::TInterfacedObject
{
typedef System::TInterfacedObject inherited;
protected:
TJvInterpreterRecord* FRecordDesc;
public:
__fastcall TJvInterpreterRecordDataType(TJvInterpreterRecord* ARecordDesc);
void __fastcall Init(Variant &V);
Word __fastcall GetTyp(void);
public:
#pragma option push -w-inl
/* TObject.Destroy */ inline __fastcall virtual ~TJvInterpreterRecordDataType(void) { }
#pragma option pop
private:
void *__IJvInterpreterDataType; /* Rm_jvinterpreter::IJvInterpreterDataType */
public:
operator IJvInterpreterDataType*(void) { return (IJvInterpreterDataType*)&__IJvInterpreterDataType; }
};
class DELPHICLASS TJvInterpreterArrayDataType;
class PASCALIMPLEMENTATION TJvInterpreterArrayDataType : public System::TInterfacedObject
{
typedef System::TInterfacedObject inherited;
protected:
int FArrayBegin[10];
int FArrayEnd[10];
int FDimension;
int FArrayType;
_di_IJvInterpreterDataType FDT;
public:
__fastcall TJvInterpreterArrayDataType(int * AArrayBegin, int * AArrayEnd, int ADimension, int AArrayType, _di_IJvInterpreterDataType ADT);
void __fastcall Init(Variant &V);
Word __fastcall GetTyp(void);
public:
#pragma option push -w-inl
/* TObject.Destroy */ inline __fastcall virtual ~TJvInterpreterArrayDataType(void) { }
#pragma option pop
private:
void *__IJvInterpreterDataType; /* Rm_jvinterpreter::IJvInterpreterDataType */
public:
operator IJvInterpreterDataType*(void) { return (IJvInterpreterDataType*)&__IJvInterpreterDataType; }
};
class DELPHICLASS TJvInterpreterSimpleDataType;
class PASCALIMPLEMENTATION TJvInterpreterSimpleDataType : public System::TInterfacedObject
{
typedef System::TInterfacedObject inherited;
protected:
Word FTyp;
public:
__fastcall TJvInterpreterSimpleDataType(Word ATyp);
void __fastcall Init(Variant &V);
Word __fastcall GetTyp(void);
public:
#pragma option push -w-inl
/* TObject.Destroy */ inline __fastcall virtual ~TJvInterpreterSimpleDataType(void) { }
#pragma option pop
private:
void *__IJvInterpreterDataType; /* Rm_jvinterpreter::IJvInterpreterDataType */
public:
operator IJvInterpreterDataType*(void) { return (IJvInterpreterDataType*)&__IJvInterpreterDataType; }
};
typedef System::TMethod *PMethod;
struct TFunctionContext;
typedef TFunctionContext *PFunctionContext;
struct TFunctionContext
{
public:
TFunctionContext *PrevFunContext;
TJvInterpreterVarList* LocalVars;
TJvInterpreterSrcFunction* Fun;
} ;
typedef Variant rm_JvInterpreter__72[200];
struct TParserState
{
public:
int CurPos;
Variant Token;
Rm_jvinterpreterparser::TTokenKind TTyp;
Rm_jvinterpreterparser::TTokenKind PrevTTyp;
bool Backed;
bool AllowAssignment;
} ;
typedef void __fastcall (__closure *TJvInterpreterAddVarFunc)(const AnsiString UnitName, const AnsiString Identifier, const AnsiString Typ, Word VTyp, const Variant &Value, _di_IJvInterpreterDataType ADataType);
typedef TParserState rm_JvInterpreter__92[200];
class DELPHICLASS TJvInterpreterFunction;
class PASCALIMPLEMENTATION TJvInterpreterFunction : public TJvInterpreterExpression
{
typedef TJvInterpreterExpression inherited;
private:
AnsiString FCurUnitName;
System::TObject* FCurInstance;
bool FBreak;
bool FContinue;
bool FExit;
Classes::TList* FFunctionStack;
void *FFunctionContext;
Classes::TStringList* FSS;
TParserState FStateStack[200];
TStackPtr FStateStackPtr;
Classes::TList* FEventList;
TJvInterpreterVarList* __fastcall GetLocalVars(void);
int __fastcall GetFunStackCount(void);
TJvInterpreterVarList* __fastcall GetDebugPointerToGlobalVars(void);
void * __fastcall GetDebugPointerToFunStack(void);
protected:
DYNAMIC void __fastcall Init(void);
void __fastcall PushState(void);
void __fastcall PopState(void);
void __fastcall RemoveState(void);
virtual void __fastcall DoOnStatement(void);
void __fastcall InFunction(TJvInterpreterFunctionDesc* FunctionDesc);
void __fastcall InterpretStatement(void);
void __fastcall SkipStatement(void);
void __fastcall SkipToEnd(void);
void __fastcall SkipToUntil(void);
void __fastcall SkipIdentifier(void);
void __fastcall FindToken(Rm_jvinterpreterparser::TTokenKind ATTyp);
void __fastcall InterpretVar(TJvInterpreterAddVarFunc AddVarFunc);
void __fastcall InterpretConst(TJvInterpreterAddVarFunc AddVarFunc);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -