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

📄 cfgsimplified.h

📁 CFG上下文无关文法的化简程序
💻 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 + -