📄 cfgsimplified.h
字号:
//@author LiuHao ShenZhen University 刘浩 2008年11月1日
#include<iostream>
#include<string>
using namespace std;
class Simplify{
private:
typedef struct{
string value;//产生式
int flag;//flag用来标记产生式已经到了化简的哪一步
int count;//用来计算输出的次数
} Produce;//产生式集
Produce P[50];//产生式集
char N[10];//非终结符集
char T[10];//终结符集
char S;//开始符号
int NO_N;//非终结符的数目
int NO_T;//终结符的数目
int NO_P;//产生式的个数
public:
//Simplify(void);//构造函数
void InitParam();//初始化,输入要化简的CFG
void separate();//将产生式中含'|'的通通分解,使最终的产生式不含'|'
void Step1();//找出有用的非终结符
void Step2();//找出有用符号
void Step3();//消除ε产生式
void Step4();//消除单产生式
void Step5();//消除左递归
// ~Simplify();//析构函数
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -