grammar.h

来自「第一次写的」· C头文件 代码 · 共 44 行

H
44
字号
#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 + =
减小字号Ctrl + -
显示快捷键?