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

📄 fenxi.h

📁 编译原理课程设计
💻 H
字号:
/************************************************************************ 
* 文件名:    FenXi.h 
* 文件描述:  词法语法分析的头文件
* 创建人:    程红秀, 2005年06月15日 
* 版本号:    1.0 
************************************************************************/ 

#if !defined _FENXI_H
#define _FENXI_H


struct CIFA			//保存词法分析结果
{
	int nType;			//0:错误,	1:标志符,	2:数字,	3-:关键字和操作符,	-1:结束符
	int nValue;			//二元式中的值
	char szText[20];	//单词
	int nAddr;			//源文件缓冲区中地址
};
 
class CFenXi  
{	
	
public:
	void YuFaFenXi();  //语法分析
	void CiFaFenXi();  //词法分析

 	int m_nErrAddr;				//语法错误对应单词的地址
	int m_nErrNo;				//语法错误代码
	char m_str[20000];			//源程序缓冲区
	char m_szErrMsg[100][100];	//错误信息表
	CIFA * m_cifa[10000];		//词法分析结果

protected:
	void init();
	
	int m_nCur;				//用于语法分析中,指示词法分析结果表中当前的位置
	int m_n;				//用于词法分析中,用于指示词法分析结果的个数
	char m_szKW[50][20];	//关键词表

	int FindInKWTab(char *);

/*----------------语法分析函数-----------------------*/
	bool y_GuanXi();			//关系
	bool y_GuanXiBiaoDaShi();	//关系表达式
	bool y_BuErBiaoDaShi();		//布尔表达式
	bool y_YinZi();				//因子
	bool y_Xiang();				//项
	bool y_BiaoDaShi();			//表达式
	bool y_ShiCanBiao();		//实参表
	bool y_GuoChengYuJu();		//过程语句
	bool y_XunHuanYuJu();		//循环语句
	bool y_TiaoJianYuJu();		//条件语句
	bool y_FuZhiYuJu();			//赋值语句
	bool y_FuHeYuJu();			//复合语句
	bool y_YuJu();				//语句
	bool y_YuJuChuan();			//语句串
	bool y_XingCan();			//形参
	bool y_XingCanBuFeng();		//形参部分
	bool y_GuoChengShengMing();	//过程说明
	bool y_BianliangShengMing();//简便说明
	bool y_ShengMing();			//说明 
	bool y_ShengMingChuan();	//说明串
	bool y_ChengXuTi();			//程序体
	bool y_ChengXu();			//程序
/*-----------------------------------------------------*/
};

#endif 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -