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

📄 parsingtable.h

📁 这是我们老师给我们的例子
💻 H
字号:
using namespace std;

enum nonterminal
{P,CS,S,SS,IS,WS,AS,BE,BO,AE,AEP,ME,MEP,SE};
enum terminal
{lb,rb,lp,rp,smc,tif,tthen,telse,twhile,id,num,lt,gt,le,ge,as,eq,plus,minus,mul,di,ne,dl};
#define ROW 14
#define COLUMN 23
struct parsingTableEntry
{
	string entry;
	string* errorM;
	parsingTableEntry()
	{
		entry="";
		errorM=0;
	}
};
string transfer(string);

string transSeq(string);
//this two just transfer the symbol used in this program into understandable english words.

class ParsingTable
{
	public:
		ParsingTable();
		void initialize();//insert productions into the table.
		parsingTableEntry* search(string nonterminal,string terminal);
		parsingTableEntry* unexpect;
		parsingTableEntry* missing;
		parsingTableEntry* empty;
		//In order to easy the work of coding ,use these three pointer to represent three kinds
		//of special situation.
		~ParsingTable();
	private:
		parsingTableEntry parTable[ROW][COLUMN];
		string* errorArray;
};

⌨️ 快捷键说明

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