欢迎来到天天文库
浏览记录
ID:8856715
大小:121.50 KB
页数:8页
时间:2018-04-09
《vb3014编译原理语法分析器的设计与实现2》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、摘要编译程序一般由词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、目标代码生成程序、代码优化程序、表格管理程序和出错处理程序等成分构成。在编译原理的教学过程中,算法的讲解都需要对算法进行详细的分析,包括算法条件的判断,文法分析表的构造过程,文法分析表的具体生成,针对文法的句子的分析过程等,这些过程往往需要占用大量时间来分析、制表等。本软件的主要任务就是利用程序来完成算法的上述相关过程,以达到高效,直观的效果。本文旨在介绍语法分析方法中的一种自上而下的分析方法——LL(1)分析法。所谓LL(1)分析法是指语法分析是按自左至右的顺序向前
2、查看一个输入字符串,并分析过程中产生句子的最左推导。关键词:编译;语法分析;LL(1)算法;演示目录论文总页数:22页1引言11.1项目背景11.2目标11.3名词解释11.4算法简介21.4.1自顶向下分析21.4.2递归子程序31.4.3LL(K)分析方法41.4.4LL(1)分析方法41.4.5LL(1)分析表52系统流程图62.1程序流程图62.2系统模块流程图73系统实施73.1文件读取模块83.1.1文件读取使用的CommonDialog控件介绍83.1.2文法左递归的判断93.2算法分析模块93.2.1求select集93.2.2
3、求first集103.2.3求follow集103.3分析表构造模块123.3.1构造文法分析表123.3.2A::=aβ规则133.3.3A::=Dβ规则133.3.4A::=ε规则133.4句子分析模块133.4.1读取句子143.4.2分析句子144特殊问题及解决方法144.1Select集的求解154.1.1问题描述154.1.2解决方案154.1.3解决结果154.2为ListBox添加水平滚动条154.2.1问题描述154.2.2解决方案154.2.3解决结果165结果测试165.1测试正确文法165.2测试错误文法19结论20参考
4、文献20致谢21声明224.1.3解决结果在成功获得select集后,对其进行了输出,结果如图6所示:图6显示select集图7ListBox的水平滚动条5结果测试在系统开发完成后,对系统各个功能做了详细的测试,对于正确的文法,系统能正常的演示整个文法分析的每一个过程;对于预设置的错误处理,系统也能给出正确的判断,指出文法的错误类型。5.1测试正确文法通过open对话框输入正确的文法(图8所示),把自己想输入的文法通过正确格式书写在TXT文档中,运行软件后就可以选中该文件打开运行。图8Open对话框文法原形如图9所示:图9输入的文法对其进行分析
5、,结果如图10所示:图10文法分析结果随后即可得到文法的分析表(图11),并以此为依据,对输入的句子进行分析(图12)。图11文法分析表图12句子分析过程5.2测试错误文法句子错误有2种情况:1.句子不符合文法,错误提示如图13所示:图13句子不符合文法(1)2.句子中有终结符以外的字符,错误提示如图14所示:图14句子不符合文法(2)重要提示:本论文由大学论文网www.wnwu.com毕业论文下载网:www.fxfl.cn提供如果需要详细内容请与QQ:4991024联系
此文档下载收益归作者所有