|
关于Basic程序解释器及编译原理的简单化(2)---C++封装好的Basic解释器(4) virtual ~CExecutable(); void Run(); private: vector <CToken> m_tokens; file://装所有标记的数据库 vector <CintMember> m_intArray; file://装所有int类型的变量 void Run_Print(int *index); file://*index是重要的m_tokens里的指针 void Run_Dim(int *index); file://~~ void Run_Assignment(int *index);// 赋值语句 file://Ai是辅助的意思,Ai_*()是辅助函数 int Ai_GetNextValue(void* result,int type,int *index); file://得到代数式的值result int Ai_GetVarNo(char *name,int *result,int type);//得到变量在Array中的引索result void get_eXP(int *result,int *index); void level2(int *result,int *index); void level3(int *result,int *index); void level4(int *result,int *index); void level5(int *result,int *index); void level6(int *result,int *index); void primitive(int *result,int *index); void arith(char o,int *r,int *h); void serror(int error); int look_up(char *c); int find_var(char *var_name,void *value); // 查找变量,将变量值装在*value int Isvar(char *name); // 看name是否是变量,返回变量类型 0:什么都不是,1:Integer,2:string };
///////////////////////////////////////// // Executable.cpp: implementation of the CExecutable class. // ////////////////////////////////////////////////////////////////////// #include "stdafx.h" #include "Executable.h" ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// CExecutable::CExecutable(vector <CToken> tokens) { m_tokens=tokens; } CExecutable::~CExecutable() { m_intArray.clear(); m_tokens.clear();
|