FirstVT集和LastVT集生成算法模拟(编译基础原理课设).doc
《FirstVT集和LastVT集生成算法模拟(编译基础原理课设).doc》由会员分享,可在线阅读,更多相关《FirstVT集和LastVT集生成算法模拟(编译基础原理课设).doc(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-/课程设计(论文)任务书 软 件 学 院 学院 软件测试 专业 4 班 一、课程设计(论文)题目 FIRSTVT集和LASTVT集生成算法模拟 二、课程设计(论文)工作自 2014 年 6 月 16 日起至 2014 年 6 月 21 日止。三、课程设计(论文) 地点: 软 件 学 院 实 训 中 心 四、课程设计(论文)内容要求:1本课程设计的目的进一步培养学生编译器设计的思想,加深对编译原理和应用程序的理解,针对编译过程的重点和难点内容进行编程,独立完成有一定工作量的程序设计任务,同时,强调好的程序设计风格,并综合使用程序设计语言、数据结构和编译原理的知识, 熟悉使用开发工具VC /JA
2、VA/C#/.NET 。2课程设计的任务及要求1)课程设计任务: 设计一个由正规文法生成FIRSTVT集和LASTVT集的算法动态模拟。(算法参见教材) 动态模拟算法的基本功能是:(1) 输入一个文法G;(2) 输出由文法G构造FIRSTVT集的算法;(3) 输出FIRSTVT集; (4) 输出由文法G构造LASTVT集的算法;(5) 输出LASTVT集。2)创新要求:用界面的形式来展现这个结果集,这样显得更加的美观。3)课程设计论文编写要求(1)课程设计任务及要求(2)设计思路-工作原理、功能规划(3)详细设计-数据分析、算法思路、功能实现(含程序流程图、主要代码及注释)、界面等。(4)运行
3、调试与分析讨论-给出运行屏幕截图,分析运行结果,有何改进想法等。(5)设计体会与小结-设计遇到的问题及解决办法,通过设计学到了哪些新知识,巩固了哪些知识,有哪些提高。(6)报告按规定排版打印,要求装订平整,否则要求返工;(7)课设报告的装订顺序如下:封面-任务书-中文摘要-目录-正文-附录(代码及相关图片)(8)严禁抄袭,如有发现,按不及格处理。4)课程设计评分标准: (1)学习态度:20分;(2)系统设计:20分;(3)编程调试:20分;(4)回答问题:20分;(5)论文撰写:20分。5)参考文献:(1)张素琴,吕映芝. 编译原理M., 清华大学出版社(2)蒋立源、康慕宁等,编译原理(第2版
4、)M,西安:西北工业大学出版社6)课程设计进度安排1准备阶段(4学时):选择设计题目、了解设计目的要求、查阅相关资料2程序模块设计分析阶段(4学时):程序总体设计、详细设计3代码编写调试阶段(8学时):程序模块代码编写、调试、测试4撰写论文阶段(4学时):总结课程设计任务和设计内容,撰写课程设计论文学生签名: 2014 年 6 月 21 日课程设计(论文)评审意见(1)学习态度(20分):优()、良()、中()、一般()、差(); (2)系统设计(20分):优( )、良()、中()、一般()、差(); (3)编程调试(20分):优()、良()、中()、一般()、差();(4)回答问题(20分)
5、:优()、良()、中()、一般()、差();(5)论文撰写(20分):优()、良()、中()、一般()、差(); 评阅人: 职称: 副教授 2014 年 6 月 26 日目录绪论4正文4设计实现10测试数据运行结果分析12课程设计总结13参考文献14绪论随着计算机科学的飞速发展,形式语言与自动机理论和方法的研究也越来越受到人们的重视,但前者已经成为计算机科学的理论基础。本课程设计主要研究自动机在编译方面的应用,并将讨论重点放在算符优先分析法上,并用此理论完成算数表达式的正确与否的判断。根据算符优先分析算法,编写一个语法程序,程序具有通用性,即编制的语法缝隙程序能够适用于不同文法以及各种输入的单
6、词串。基本思想描述,语法分析前首先要对输入的文法和句子进行词法分析,去除多余的自负,并将产生式和终结符、非终结符填入有关数组,为语法分析做前期准备。算符优先分析算法的核心算法教材上已给出,因此所要做的事只是将其变成实现。正文设计目的本课程设计的题目为“FirstVT集和LastVT集生成算法模拟”,它是算符优先分析算法中判断三种优先关系的关键。算符优先分析算法是自底向上分析方法的一种。所谓自底向上分析,也称移近规约分析,粗略地说它的实现思想是对输入符号串自左向右进行扫描,并将输入符逐个移入一个后进先出的栈中,边移进边分析,一旦栈顶符号串形成某个句型的句柄或可规约串,就用该产生式的左部非终结符代
7、替相应右部的文法符号串,这称为一部规约。重复这一过程直到规约到栈中只剩文法的开始符号则为分析成功,也就确认输入串是该文法的句子。而算符优先分析算法的基本思想只是规定算符之间的优先关系,也就是只考虑终结符之间的优先关系。本课程设计的要求只是构造FirstVT集和LastVT集,在此基础上扩充建造算符优先关系表。问题描述设计一个给定文法和对应的FIRSTVT和LASTVT集,能依据依据文法和FIRSTVT和LASTVT生成算符优先分析表。可以动态模拟算法的基本功能,通过输入一个给定文法,及FIRSTVT和LASTVT集,本题目以文法GE为测试数据: 文法GE:E-TEE-+TE|T-FTT-*FT
8、|F-(E)|i该文法有对应的FIRSTVT(E)= +, * ,( ,i LASTVT(E)= +,*,),i FIRSTVT(E)= + LASTVT(E)= +,*,),i FIRSTVT(T)= * ,( ,i LASTVT(T)= *,),i FIRSTVT(T)= * LASTVT(T)= *,),i FIRSTVT(F)= ( ,i LASTVT(F)= ),i 通过算符优先关系表构造算法: 给定文法中任何二个终结符对(a,b)之间的优先关系有三种优先关系计算为:关系:可以直接查看产生式的右部,对如下形式的产生式:Aab或 AaBb则有a=b成立。 关系:求出每个非终结符B的FI
9、RSTVT(B),观察如下形式的产生式:AaB对每一bFIRSTVT(B),有ab成立。 关系:计算每个非终结符B的LASTVT(B),观察如下形式的产生式: ABb对每一aLASTVT(B),有ab成立。 这样,对于给定的文法和对应的FIRSTVT和LASTVT集,通过二个终结符之间的优先关系表构造算法,可以得到算法优先分析表构造过程的过程和算符优先分析表生成算法。 所以,我们的重点应该放在算符优先分析表的生成算法上,解决了这一问题,也就可以得到我们想要的结果,算法优先分析表以及分析过程。其中,对于FIRSTVT集和LASTVT集的表示可以采取集合的方式,同样也可以采用关系图法进行表示。总体
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- firstvt 以及 lastvt 生成 算法 模拟 摹拟 编译 基础 原理
限制150内