📄 phasesymbol.h
字号:
#pragma once
#define NES_ES 30//非终结符和终结符的界限
//#define ES_NUM 50//终结符个数
//#define FIRST_MAX_NUM 30//first集合元素最大个数
/*-----------------------------*/
/*非终结符的first集合
/*-----------------------------*/
class NotEndSymbol
{
public:
NotEndSymbol(void);
NotEndSymbol(int s_n);
void output(); //输出
void AddFirstSymbol(int temp); //增加一个first元素
int CheckFirstExist(int temp); //测试某个first元素是否存在
public:
vector<int> _first; //first集合
int first_num; //first元素个数
int first_finish;
int symbol_name;
};
/*-----------------------------*/
/*符号集合
/*-----------------------------*/
class PhaseSymbol
{
public:
PhaseSymbol(void);
public:
void addNES(int temp); //添加非终结符
int testNESExist(int temp); //检查非终结符存在
void addES(int temp); //添加终结符
int testESExist(int temp); //检查终结符存在
void addSymbol(int temp); //添加一个符号
void output(); //输出符号集合
void outputFirst(); //打印first集合
NotEndSymbol * getNes(int nes_dst);
public:
vector<NotEndSymbol> nes; //非终结符
int nes_num; //非终结符个数
vector<int> es; //终结符
int es_num; //终结符个数
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -