⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rm_jvinterpreter.hpp

📁 这是一个功能强大
💻 HPP
📖 第 1 页 / 共 4 页
字号:
	#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 + -