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 + -
显示快捷键?