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

📄 scriptengine.h

📁 一个支持中文的类C语言编译器
💻 H
字号:
// ScriptEngine.h: interface for the CScriptEngine class.
//
//作者:胡广华
//描述:语法分析类
//功能:用于命令语言解释执行。注意,变量名,字符串长度,函数名长度不超过
//MAXCOUNT_STRING: #define MAXCOUNT_STRING 256
//用法:1.接口说明:从其他模块获得CVarDef型数组首地址
//更新日期:
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_SCRIPTENGINE_H__B2E5F7E8_C873_491A_83AD_0C9A2540C725__INCLUDED_)
#define AFX_SCRIPTENGINE_H__B2E5F7E8_C873_491A_83AD_0C9A2540C725__INCLUDED_

#include "ShareHead.h"	// Added by ClassView
#include "WordAnalyse.h"	// Added by ClassView
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class CVarDef;//类声明

//#include "WordAnalyse.h"//
extern void CloseDocumentFile(LPCSTR);
extern void Login();
extern void LogOut();
extern void UserConfig();

//类CScriptEngine的入口参数结构体()
class ScriptEngInfo{
public:
	ScriptEngInfo(){
		

	}
	~ScriptEngInfo(){
	}
public:
	CVarDef **pArray_var;
	int  sizeArray/*变量表大小*/;
	CEdit* ctrEdit;
	CString *pStr;
	bool isRunEnvir;
	int sizeArray_pic;
};
typedef ScriptEngInfo* PScriptEngInfo;

class CScriptEngine  
{
public:
	CScriptEngine(PScriptEngInfo);
	void SetPtOfEdt(CEdit*);
	CEdit* GetPtOfEdt();
	virtual	bool Execute();
	void SetEnvirStatus(bool);//设置环境状态---开发?运行?
	bool GetEnvirStatus();
	CScriptEngine(CVarDef **,int ,CEdit *, CString &,int,bool isRunEnvir=false);
	virtual ~CScriptEngine();

protected:
	CVarDef ** array_var;//变量数组入口指针
	virtual	bool Procedure();
	ReturnType Sentence();
	bool DBCondition(bool &blResult);
	virtual	bool Condition(bool& blResult);
	bool Item(COpData& opd);
	bool LookUpFunList(CTwoDim, CArgInfo&, COpData&);
	bool Expression(COpData &);
	ReturnType Function(COpData&);
	bool Factor(COpData &);
	bool Ident_L(CVarDef**,/*数组入口*/int&,/*返回的下标号*/COpData&,/*存放变量信息*/VarType&,/*返回属性数据类型*/int&,/*返回属性id*/IdentType&/*指示是变量还是属性*/);
	bool Ident_R(CVarDef**,COpData &);
	CWordAnalyse m_waWrdAnly;
private:
	int size_Array;//变量表大小
	int size_ArrayPic;//画面映射表大小
	static COpData static_argType[ARG_COUNT];
	static CFuncInfo Table_FunctionName[];//[SIZE_TB_FUNC];
	bool m_bIsInRunEnvir;
	static int SIZE_TB_FUNC;
};

#endif // !defined(AFX_SCRIPTENGINE_H__B2E5F7E8_C873_491A_83AD_0C9A2540C725__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -