?? fenxi.h
字號(hào):
/************************************************************************
* 文件名: FenXi.h
* 文件描述: 詞法語(yǔ)法分析的頭文件
* 創(chuàng)建人: 程紅秀, 2005年06月15日
* 版本號(hào): 1.0
************************************************************************/
#if !defined _FENXI_H
#define _FENXI_H
struct CIFA //保存詞法分析結(jié)果
{
int nType; //0:錯(cuò)誤, 1:標(biāo)志符, 2:數(shù)字, 3-:關(guān)鍵字和操作符, -1:結(jié)束符
int nValue; //二元式中的值
char szText[20]; //單詞
int nAddr; //源文件緩沖區(qū)中地址
};
class CFenXi
{
public:
void YuFaFenXi(); //語(yǔ)法分析
void CiFaFenXi(); //詞法分析
int m_nErrAddr; //語(yǔ)法錯(cuò)誤對(duì)應(yīng)單詞的地址
int m_nErrNo; //語(yǔ)法錯(cuò)誤代碼
char m_str[20000]; //源程序緩沖區(qū)
char m_szErrMsg[100][100]; //錯(cuò)誤信息表
CIFA * m_cifa[10000]; //詞法分析結(jié)果
protected:
void init();
int m_nCur; //用于語(yǔ)法分析中,指示詞法分析結(jié)果表中當(dāng)前的位置
int m_n; //用于詞法分析中,用于指示詞法分析結(jié)果的個(gè)數(shù)
char m_szKW[50][20]; //關(guān)鍵詞表
int FindInKWTab(char *);
/*----------------語(yǔ)法分析函數(shù)-----------------------*/
bool y_GuanXi(); //關(guān)系
bool y_GuanXiBiaoDaShi(); //關(guān)系表達(dá)式
bool y_BuErBiaoDaShi(); //布爾表達(dá)式
bool y_YinZi(); //因子
bool y_Xiang(); //項(xiàng)
bool y_BiaoDaShi(); //表達(dá)式
bool y_ShiCanBiao(); //實(shí)參表
bool y_GuoChengYuJu(); //過(guò)程語(yǔ)句
bool y_XunHuanYuJu(); //循環(huán)語(yǔ)句
bool y_TiaoJianYuJu(); //條件語(yǔ)句
bool y_FuZhiYuJu(); //賦值語(yǔ)句
bool y_FuHeYuJu(); //復(fù)合語(yǔ)句
bool y_YuJu(); //語(yǔ)句
bool y_YuJuChuan(); //語(yǔ)句串
bool y_XingCan(); //形參
bool y_XingCanBuFeng(); //形參部分
bool y_GuoChengShengMing(); //過(guò)程說(shuō)明
bool y_BianliangShengMing();//簡(jiǎn)便說(shuō)明
bool y_ShengMing(); //說(shuō)明
bool y_ShengMingChuan(); //說(shuō)明串
bool y_ChengXuTi(); //程序體
bool y_ChengXu(); //程序
/*-----------------------------------------------------*/
};
#endif
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -