词法、语法分析器.doc

词法、语法分析器.doc

ID:52139997

大小:531.00 KB

页数:31页

时间:2020-03-23

词法、语法分析器.doc_第1页
词法、语法分析器.doc_第2页
词法、语法分析器.doc_第3页
词法、语法分析器.doc_第4页
词法、语法分析器.doc_第5页
资源描述:

《词法、语法分析器.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、词法、语法分析器*文件名:FenXi.h*文件描述:词法语法分析的头文件*创建人:程红秀,2005年06月15*版木号:1.0*1*•Af<£>Q>^£>^£>%£^/J"T^JJg#if!defined_FENXI_H#defineFENXIHimnType;符intnValue;charszText[20];〃0:错误,1:标志符,2:数字,3■:关键字和操作符,结束//二元式屮的值〃单词intnAddr;〃源文件缓冲区屮地址);classCFenXipublic:voidYuFaFenXi();〃语法分析voidCiFaFenXi();〃词法分析intm_nE

2、rrAddr;〃语法错误对应单词的地址intm_nErrNo;〃语法错误代码charm_str[20000];〃源程序缓冲区charm_szErrMsg[100][100];//错误信息表CIFA*m_cifa[10000];〃词法分析结果protected:voidinit();intm_nCur;〃用于语法分析屮,指示词法分析结果表屮当前的位置intm_n;〃用于词法分析屮,用于指示词法分析结果的个数charm_szKW[50][20];〃关键词表intFindInKWTab(char*);/*语法分析函数*/booly_GuanXi();〃关系booly_Gu

3、anXiBiaoDaShi();〃关系表达式booly_BuErBiaoDaShi();〃布尔表达式booly_YinZi();〃因了booly_Xiang();〃项booly_BiaoDaShi();〃表达式booly_ShiCanBiao();〃实参表booly_GuoChengYuJu();〃过程语旬booly_XunHuanYuJu();〃循环语句booly_TiaoJianYuJu();〃条件语句booly_FuZhiYuJu();〃赋值语句booly_FuHeYuJu();〃复合语句booly_YuJu();〃语句booly_YuJuChuan();〃语

4、句串booly_XingCan();〃形参booly_XingCanBuFeng();〃形参部分booly_GuoChengShengMing();〃过程说明booly_BianliangShengMingO;〃简便说明booly_ShengMing();〃说明booly_ShengMingChuan();//说明串booly_ChengXuTi();〃程序体booly_ChengXu();〃稈序/**/};#endif/■士•士<1^■If■匕■匕•士•匕■士■If•匕•士*£x・士•匕■士•匕•士<1^^£x^£z•匕■士•匕•士K♦卜叫J♦卜♦卜叫・♦卜•卜<

5、X*♦卜叫、"卜叫J♦卜*1*•卜*¥*•卜叫、•卜^7*♦卜叫・J"卜―卜*k*•卜叫・"卜♦卜叫J*1*♦卜*1*♦卜*1*"卜

6、返冋值:void:*/voidCFenXi::CiFaFenXi(){BOOLflag=false;chartoken[20];intk,v;init();for(inti=0;i

7、n])n++;n++;fl

8、ag=false;while(1){while((m_str[n]==32)II(m_str[n]==9))n++;if(!((m_str[n]==13)&&(m_str[n+1]==10)))break;n++;n++;讦(isalpha(m_str[n]))〃字母{k=0;while(1){if(kv⑼〃标志符的长度为20token[k++]=m_str[n++];elsen++;if(!isalnum(m_str[n]))//如果不是数字或字母就退出break;}token[k]=0;v=FindInKWTab(token);//查找关键词表if(v)〃如

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。