📄 scriptengine.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 + -