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

📄 cfenci.h

📁 编译器,词法分析和语法分析,里面利用到了哈希表来加快搜索字符表速度.
💻 H
字号:
//CFenXi.h
#include "head.h"

class CFenXi 
{
public:
		char m_str[20000];			//源程序缓冲区
		CIFA *m_cifa[10000];		//词法分析结果
		int m_nErrAddr;				//语法错误对应单词的地址
		bool CiFaFenXi();  //词法分析
		bool YuFaFenXi();  //语法分析
		CFenXi();
		void ShowCurrentError();      //
		int nLength;
		
protected:
	void init();
	char m_kw[50][20];	//关键词表
	int m_n;
	int FinKW(char *);			//用于词法分析中,用于指示词法分析结果的个数
	int m_nCur;				//用于语法分析中,指示词法分析结果表中当前的位置
	char m_szErrMsg[100][100];	//错误信息表	
	int m_nErrNo;				//语法错误代码
	/*----------------语法分析函数-----------------------*/
	bool ChengXu();				//程序
	bool ChengXuTi();			//程序体
	bool YuJuChuan();			//语句串
	bool FuHeYuJu();			//复合语句
	bool YuJu();				//语句
	bool FuZhiYuJu();			//赋值语句
	bool TiaoJianYuJu();		//条件语句
	bool XunHuanYuJu();			//循环语句
	bool GuoChengShengMing();	//过程声明
	bool XingCan();				//形参
	bool BiaoDaShi();			//表达式
	bool Xiang();				//项
	bool GuoChengYuJu();		//过程语句
	bool ShiCan();				//实参
	bool YinZi();				//因子
	bool BoolBiaoDaShi();		//布尔表达式
	bool GuanXiBiaoDaShi();		//关系表达式
	bool GuanXi();				//关系
	bool ShengMingChuan();		//声明串
	bool ShengMing();			//声明
	bool BianliangShengMing();	//变量声明
	bool XieYuJv();             //写语句
	bool DuYuJv();              //读语句
	bool IsRedefine(char *str);  //判断标识符是否重复
	bool IsDefine(char *str);    //判断变量是否定义了

};

⌨️ 快捷键说明

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