课程设计(论文)任务书--正规文法的First集合Follow集求解过程动态模拟

课程设计(论文)任务书--正规文法的First集合Follow集求解过程动态模拟

ID:35635383

大小:225.00 KB

页数:14页

时间:2019-04-04

课程设计(论文)任务书--正规文法的First集合Follow集求解过程动态模拟_第1页
课程设计(论文)任务书--正规文法的First集合Follow集求解过程动态模拟_第2页
课程设计(论文)任务书--正规文法的First集合Follow集求解过程动态模拟_第3页
课程设计(论文)任务书--正规文法的First集合Follow集求解过程动态模拟_第4页
课程设计(论文)任务书--正规文法的First集合Follow集求解过程动态模拟_第5页
资源描述:

《课程设计(论文)任务书--正规文法的First集合Follow集求解过程动态模拟》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、华东交通大学课程设计(论文)任务书软件学院专业项目管理班级2005-4一、课程设计(论文)题目正规文法的First集合Follow集求解过程动态模拟二、课程设计(论文)工作:自2008年6月23日起至2008年6月27日止。三、课程设计(论文)的内容要求:1、基本要求:进一步培养学生编译器设计的思想,加深对编译原理和应用程序的理解,针对编译过程的重点和难点内容进行编程,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格,并综合使用程序设计语言、数据结构和编译原理的知识,熟悉使用开发工具VC6.0或其它软件编程工具。为了使学生从课程设计中尽可能取得比较大的收获,对课程设计题目

2、可根据自己的兴趣选题(须经老师审核),或从老师给定题目中选择完成(具体见编译原理课程设计题目要求)。通过程序实现、总结报告和学习态度综合考评,并结合学生的动手能力,独立分析解决问题的能力和创新精神。成绩分优、良、中、及格和不及格五等。2、具体要求14设计一个由正规文法生成Fisrt集Follow集的动态过程模拟动态模拟算法的基本功能是:l输入一个正规文法;l输出由文法构造的First集的算法;l输出First集;l输出由文法构造的Follow集的算法;l输出Follow集;学生签名:2008年6月27日课程设计(论文)评阅意见项目等   级优秀良好中等及格不及格课程设计态度评价出勤情

3、况评价任务难度评价工作量饱满评价设计中创新性评价论文书写规范化评价综合应用能力评价综合评定等级评阅人职称副教授2008年6月27日14目 录一、需求分析………………………………………………….……3二、总体设计…………………………………………….…....……4三、详细设计……………………………………………..….….…9四、课设小结………………………………………………..….…12五、谢辞……………………………………………………………13六、参考文献………………………………………………………1414一、需求分析问题描述设计一个由正规文法生成First集和Follow集并进行简化的算

4、法动态模拟。(算法参见教材)【基本要求】动态模拟算法的基本功能是:(1)输入一个文法G;(2)输出由文法G构造FIRST集的算法;(3)输出First集;i)(*+F的first集T的first集E的first集111111111(4)输出由文法G构造FOLLOW集的算法;(5)输出FOLLOW集。【测试数据】输入文法:E->TE’E’->+TE’

5、εT->FT’T’->*FT’

6、εF->(E)

7、i【实现提示】用数据库存储多行文法,用LIST控件显示算法,用GRID类依据算法进行作图。并实现算法与生成过程的关联。首先文法G的获取可以通过两种形式来完成,一种是将其定义在文件里,然后从文

8、件读取,另一种是用户自行输入,动态获取并运行。程序用UI界面风格显示。实现与实际软件的无差别性。并且,为了方便做好的程序在任意地方运行。可以将其做成exe安装程序,而不再依赖于编程环境。程序能够对读取到的任意符合要求的文法进行识别(注:本程序能够处理文法的能力为2型文法),并能够计算出每一个非终结符的First集Follow集,并且能够将计算过程动态的显示给用户查看。然后用表格的形式将得到的First集Follow集显示出来。14二、总体设计1.程序功能分解图First集Follow集求解从文件中读取文法进行分析读取用户输入的文法并分析分析文法的First集合分析文法的Follow集

9、合2.各功能模块程序流程图1).UI用户操作界面控制流图读取文法开始由文法处理单元计算出终结符,非终结符集计算出所有非终结符的First,Follow集在界面上显示出每个非终结符的First,Follow集和计算过程完成142).识别非终结符集和终结符集读取一条产生式识别产生式的左部字符V将V添加到非终结符集合开始结束开始还有未分析的产生式Y识别所有符号(Vt,Vn)去除非终结符号得到终结符集合结束143).计算各个非终结符的First集开始读取一个非终结符V遍历所有产生式,查找左部是V的产生式取出得到的一条产生式产生式右部第一个符号V*是终结符?将该终结符V*加入V的First集中

10、YV*是不是有推导规则V*->εY添加一个删除ε的标志为trueε标志为真删除ε,得到V的First集还有为计算的非终结符完成NY说明:在求First集合时,主要用的思想是递归求解。144.计算各个非终结符的Follow集开始取得一个非终结符V查找产生式的右部含有V的产生式V是不是最后一个字符添加#到V的Follow集中是否遍历完所有右部含有V的产生式NY是否有未求解过的非终结符完成V后一个字符V*是否为终结符YN添加V*到V的Follow中Y将V*的Fi

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

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

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