正规文法的first集合follow集求解过程动态模拟-实验报告

正规文法的first集合follow集求解过程动态模拟-实验报告

ID:15100127

大小:165.33 KB

页数:12页

时间:2018-08-01

正规文法的first集合follow集求解过程动态模拟-实验报告_第页
预览图正在加载中,预计需要20秒,请耐心等待
资源描述:

《正规文法的first集合follow集求解过程动态模拟-实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

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

3、阅意见项目等   级优秀良好中等及格不及格课程设计态度评价出勤情况评价任务难度评价工作量饱满评价设计中创新性评价论文书写规范化评价综合应用能力评价综合评定等级目 录12一、需求分析………………………………………………….……3二、总体设计…………………………………………….…....……4三、详细设计……………………………………………..….….…9四、课设小结………………………………………………..….…12五、谢辞……………………………………………………………13六、参考文献………………………………………………………14一、需求分析12问题描述设计

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

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

6、εF->(E)

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

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

9、图读取文法开始由文法处理单元计算出终结符,非终结符集计算出所有非终结符的First集在界面上显示出每个非终结符的First,和计算过程完成2).识别非终结符集和终结符集12读取一条产生式识别产生式的左部字符V将V添加到非终结符集合开始结束开始还有未分析的产生式Y识别所有符号(Vt,Vn)去除非终结符号得到终结符集合结束3).计算各个非终结符的First集12开始读取一个非终结符V遍历所有产生式,查找左部是V的产生式取出得到的一条产生式产生式右部第一个符号V*是终结符?将该终结符V*加入V的First集中YV*是不是有推导规则V*->εY添加一个删除ε的

10、标志为trueε标志为真删除ε,得到V的First集还有为计算的非终结符完成NY说明:在求First集合时,主要用的思想是递归求解。12三、详细设计核心类:WenFaConvert和CompileSystemWenFaConvert类:主要用于处理获得的文法,分析出文法中的终结符,非终结符,计算出每给非终结符的First集。两个核心算法函数如下:First(StringVn,TextAreatextArea,booleanbl)其中textArea是用于动态显示算法求解过程的控件。CompileSystem类:用于处理显示WenFaConvert类计算

11、得到的结果。1.程序启动运行2.从文件读取文法123.显示相应文法的FIRST集求解结果12注

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

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

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