📄 fenxi.h
字号:
#if !defined _FENXI_H
#define _FENXI_H
struct CIFA //保存词法分析结果
{
int nType; //0:错误, 1:标志符, 2:数字, 3-:关键字和操作符, -1:结束符
int nValue; //二元式中的值
char szText[20]; //单词
char szDesc[50]; //描述
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_kw[50][20]; //关键词表
int FinKW(char *);
/*----------------语法分析函数-----------------------*/
bool Program(); //程序
bool ProgramTi(); //程序体
bool ShengMing(); //声明
bool ShengMingChuan(); //声明串
bool BianliangShengMing(); //变量声明
bool GuoChengShengMing(); //过程声明
bool ShiCan(); //实参
bool XingCan(); //形参
bool Sentence(); //语句
bool SentenceChuan(); //语句串
bool GuoChengSentence(); //过程语句
bool Cycle_Sentence(); //循环语句
bool Condition_Sentence(); //条件语句
bool F_Sentence(); //赋值语句
bool C_Sentence(); //复合语句
bool BiaoDaShi(); //表达式
bool Relation_Exp(); //关系表达式
bool BooL_Express(); //布尔表达式
bool Item(); //项
bool Factor(); //因子
bool Relation(); //关系
/*-----------------------------------------------------*/
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -