递归下降语法分析设计原理与实现技术实验报告

递归下降语法分析设计原理与实现技术实验报告

ID:27821487

大小:600.53 KB

页数:18页

时间:2018-12-06

递归下降语法分析设计原理与实现技术实验报告_第1页
递归下降语法分析设计原理与实现技术实验报告_第2页
递归下降语法分析设计原理与实现技术实验报告_第3页
递归下降语法分析设计原理与实现技术实验报告_第4页
递归下降语法分析设计原理与实现技术实验报告_第5页
资源描述:

《递归下降语法分析设计原理与实现技术实验报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、递归下降语法分析设计原理与实现技术实验报告变更说明日期版本变更位置变更说明作者2014/4/161.0初稿生成房皓、实验目的:本实验的目的在于在教师的引导下以问题冋朔与思维启发的方式,使学生在不断的探究过程屮拿握编译程序设计和构造的基木原理和实现技术,启迪学生的抽象思维、激发学生的学习兴趣、培养学生的探究精神和专业索养,从而提高学生发现问题、分析问题和解决问题的能力。二、实验内容:[实验项口]完成以下描述算术表达式的LL(1)文法的递归下降分析程序G[E]:E->TEZ-ATE,

2、eTfFT'「->MF「

3、eF->(E)

4、iA-*+

5、-M—*

6、/[设计说明]终结符号i

7、为用户定义的简单变量,即标识符的定义。[设计要求](1)输入吊应是词法分析的输出二元式序列,即某算术表达式“实验项目一”的输出结果,输出为输入串是否为该文法定义的算术表达式的判断结果;(2)递归下降分析程序应能发现输入串出错;(3)设计两个测试用例(尽可能完备,正确和出错),并给出测试结果。三、实验环境:操作系统:Windows7软件:VC++6.0程序功能描述:•提供了两种输入方式:键盘和文件,有文件输入时需为二元式序列;•能够对输入的字符串做出正确的递归下降分析判断,并给出判断结果;•能发现输入串中的错误,包含非法字符,输入不匹配等;•能够处理一些可预见性的错误,

8、如文件不存在,用户输入非法等。五、数据结构设计:全局:ttdefineMAX50chartoken[MAX];chartoken2[MAX];charcurrent;inti=0;局部(main。中):intFlag;intj=1;inti=0;chartokenl[MAX];FILE*Fp;六、程序结构描述:•设计方法:木程序采用从键盘输入或文件读取两种输入方式,其中文件的内容需为二元式序列,然后按照递归下降分析的方法对输入的字符申进行分析判断,并输出判断结果,程序通过对输入出的检查能够发现输入出屮的错误。程序规定的单词符号及其种别码见下表:单词符号及其种别码衣单词

9、符号种别码单词符号种别码(1*5)2/6+3■17-4#8•主要函数说明:-dgxjclasses-曰Globals©A0&advanceO©EO©E10&errorO&errorl0©FO♦initO•justifyfcharch,inti]©MOQmainO©TO©T10advance():将下一个字符送入current;error():输出错误,表示不是该文法的句子;error1();输出错误,输入内容不合法;init():初始化函数;justifyO:判断文件读取内容是否合法,包括检查非法字符和不匹配现象main():主两数•函数调用关系说明:main()调用

10、justify()>init()>E()、error1();justify()调用error1();A()、E()、El()、F()、M()、F()、T()、Tl()根据输入串可互相调用或递归调用,这些函数均可调用error()函数;A()、F()、M()调用advance()函数。•执行框图:1)总体结构图:开始递归下降分析否-►ERRORSUCCESS2)递归下降分析构框图:E():El():T():T()l:T-FT'入出口Tz—MFT入口.FM():F(M)出口出口A():A—+

11、—出F():七、实验过程结果截图:•测试用例一:i+i*i/i#键盘:,■F:佼

12、大M二学期第痒原珪硏究性浬番递启下遂语法分析设计原理与§输入方式:键盘V"文件<2〉:1谱输入长度不超过50且山结束的字符串:i+i*i/i#SUCCESS?Pressanykeytocontinue文件:_

13、inputtxt-1己事本文件(F)幣(E)鈕(0)»(V)帮助(H)_⑺i)(3,+)⑺i)(5,*)⑺i)(6,/)⑺i)(&#)■卞校大二学期傑痒原理硏究性深题递归下遂港法分析设计原理占輸人方式:键盘文件<2〉:2歳人字符串为:SUCCESS?Pressanykeytocontinue•测试用例二i+i*i/#键盘:・F:佼大燼二学期傑译原理研

14、元楼果註谨自下海吾法分析设注京理三输入方式:键盘文件《2〉:1谱输入长度不超过50且山结束的字符串:ERROR?Pressanykeytocontinue文件:》aput.txt•记事平文件(F)编辑(E)梧式(O)童看(V)帮助(H)⑺i)(3,+)⑺i)(5,*)⑺i)(6,/)(&#)■F:诙大第二学期傑译原蒸研殳性探鑒.谨□下遂语法会析没在康回输入方式:键盘V"文件紇〉:2读人字符串为:ERROR?Pressanykeytocontinue八、实验总结:•实验心得:通过本次实验我锻炼了i己的上机操作能力及编程能力,并对理论知识有了进一步的了

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

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

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