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

📄 grammar.h

📁 第一次写的
💻 H
字号:
#ifndef __GRAMMAR_H
#define __GRAMMAR_H

#include "Simpsc.h"

#define MAX_LEV 3   //过程最多可嵌套三层

class Grammar  
{
private:
	int dx[MAX_LEV+1];	//计算每个变量在运行栈中相对本过程基地址的偏移量
	int lev;			//层次
	int bx;				//单词坐标
	int ex;
	int y;
	int i;				//当前单词
//	Word Token[MAX];
	Simpsc *pl;
public:
	Grammar(Simpsc *p);
	bool Analysis(Word *Token);
	char *ReturnName(Word *Token);
	int ReturnLevel(){return lev;}
	int ReturnAddr(){return dx[lev];}
private:
	void ConstDecla(Word *Token);
	void ConstVar(Word *Token);
	void VarDecla(Word *Token);
	bool ProceFactor(Word *Token);
	bool ProceTerm(Word *Token);
	bool ProceExp(Word *Token);
	bool ProceLexp(Word *Token);
	bool ProceState(Word *Token);
	bool ProceBody(Word *Token);
	bool ProceConst(Word *Token);
	bool ProceCondecl(Word *Token);  
	bool ProceVardecl(Word *Token);
	bool ProceProc(Word *Token);
	bool ProceBlock(Word *Token);
	bool ProceProg(Word *Token);
};              

#endif // Grammar.h

⌨️ 快捷键说明

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