📄 fenxi.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 + -