- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计(论文)任务书
软件学院 学 院 软件工程 专 业 07-1 班
一、课程设计(论文)题目 算符优先分析表生成模拟
二、课程设计(论文)工作自2010年6月20 日起至 2010 年 6月 25日止。
三、课程设计(论文) 地点:
四、课程设计(论文)内容要求:
1.本课程设计的目的
1、使学生增进对编译原理的认识,加强用程序设计语言实现编译算法能力。
2、进一步培养学生编译器设计的思想,加深对编译原理和应用程序的理解,针对编译过程的重点和难点内容进行编程,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格,并综合使用程序设计语言、数据结构和编译原理的知识,熟悉使用开发工具VC6.0 或JAVA。
2.课程设计的任务及要求
1)基本要求:
动态模拟算法的基本功能是:
(1)输入一个给定文法,及FIRSTVT和LASTVT集;
(2)输出算符优先分析表生成算法;
(3)输出算法优先分析表构造过程的过程。
2)课程设计论文编写要求
1)要按照书稿的规格打印誊写课设报告;
2)报告分为封面、课程设计任务书(本文档)分析、总结和附录;
3)报告正文包括以下部分:
① 问题描述:题目要解决的问题是什么;
② 分析、设计、实现:解决问题的基本方法说明,包括主要算法思想,算法的流程图,程序中主要函数或过程的功能说明;
④ 运行结果分析:分析程序的运行结果是否正确以及出现的问题;
⑤ 总结:遇到的主要问题是如何解决的、对设计和编码的回顾讨论和分析、进一步改进设想、经验和体会等;
⑥ 附录,包括源程序清单和运行结果。
学生签名:
2009 年6 月25 日
课程设计(论文)评审意见
(1)编译器思想的正确性(20分):优( )、良( )、中( )、一般( )、差( );
(2)程序实现的正确性(20分):优( )、良( )、中( )、一般( )、差( );
(3)程序功能的完善程度(20分):优( )、良( )、中( )、一般( )、差( );
(4)学生的态度(20分):优( )、良( )、中( )、一般( )、差( );
(5)课程设计报告(20分):优( )、良( )、中( )、一般( )、差( );
(6)格式规范性、设计态度及考勤是否降等级:是( )、否( )
评阅人: 职称: 教授
2010 年 6 月 28 日
目 录
课设题目……………………………………………………4
概要设计……………………………………………………5
详细设计……………………………………………………7
运行结果……………………………………………………
总结…………………………………………………………
附录…………………………………………………………
课设题目
1、问题描述
设计一个给定文法和对应FIRSTVT和LASTVT集,能依据依据文法和FIRSTVT和LASTVT生成算符优先分析表。(算法参见教材)
2、基本要求
动态模拟算法的基本功能是:
(1)输入一个给定文法,及FIRSTVT和LASTVT集;
(2)输出算符优先分析表生成算法;
(3)输出算法优先分析表构造过程的过程;
3、测试数据
输入文法:
E-TE’
E’-+TE’|ε
T-FT’
T’-*FT’|ε
F-(E)|i
二、概要设计
用结构体数组存储多行正规式,用LIST控件显示算法,用CDC类依据进行算法进行作图。并实现算法与生成过程的关联。
根据已知优先文法构造相应优先关系矩阵,并将文法的产生式保存,设置符号栈S,算法步骤如下:
1、将输入符号串a1a2a3...an#依次逐个存入符号栈S中,直到遇到栈顶符号ai的优先性下一个待输入符号aj时为止。
2、栈顶当前符号ai为句柄尾,由此向左在栈中找句柄的头符号ak,即找到ak-1ak为止。
3、由句柄ak...ai在文法的产生式中查找右部为ak...ai的产生式,若找到则用相应左部代替句柄,若找不到则为出错,这时可断定输入串不是该文法的句子。
重复这三步,直到归约完输入符号串,栈中只剩文法的开始符号为止。
求出该文法的优先关系表,在程序中用2维数组表示,-1表示小于或者等于,大于为1,其它为0表示错误。
在输入一串字符串以后进行按照文法一步一步的进行规约,我所进行的是直接规约到文法的符号而不是规约到N。
数据结构使用的是链表,用一个STRUCT来表示一个元素,其中包含符号和下一个符号的指针。
计算优先符关系,
1) ‘=‘关系
直接看产生式的右部,若出现了A →…ab…或A →…aBb,则a=b
文档评论(0)