- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理课程设计
一、课程设计基础要求和方法
(一)、目
深入培养学生编译器设计思想,加深对编译原理和应用程序了解,针对编译过程关键和难点内容进行编程,独立完成有一定工作量程序设计任务,同时强调好程序设计风格,并综合使用程序设计语言、数据结构和编译原理知识,熟悉使用开发工具VC /JAVA/C#/.NET 。
(二)、课程设计步骤
1、问题了解和分析
充足地分析和了解问题本身,搞清要求做什么。
2、确定处理问题方法(设计)
关键是找四处理问题关键思绪,是怎么做。在此阶段可考虑系统功效和模块划分等。
3、具体设计和编码
确定算法关键步骤,再进行编程。在此阶段应提醒学生程序可先在纸上写,尽可能想清楚了再动手上机,在编程过程中注意程序结构清楚性,避免出现很多显著程序逻辑错误和语法错误,提升后面程序调试效率。
4、程序调试和运行
使学生掌握程序调试和排错基础方法,增加编程感觉和处理问题
成就感。
5、完成课程设计汇报(使用华东交通大学课程设计汇报,需学生自己购置)
1)问题描述
题目要处理问题是什么
2)分析、设计、实现
处理问题基础方法说明,包含关键算法思想,算法步骤图。
程序中关键函数或过程功效说明。
运行结果分析。
总结
碰到关键问题是怎样处理、对设计和编码回顾讨论和分析、深入改善设想、经验和体会等。
附录,包含源程序关键代码和运行结果。
(三)、考评评定
经过程序实现、总结汇报和学习态度综合考评,并结合学生动手能力,独立分析处理问题能力和创新精神。成绩分优、良、中、及格和不及格五等。
考评标准包含:
(1)编译器思想正确性,包含是否采取了适宜数据存放结构等。
(2)程序实现正确性,包含程序整体结构是否合理、编程风格是否规范等。
(3)程序功效完善程度,包含功效基础实现、基础完善、完全实现 (4)学生工作态度、独立工作能力。
(5)课程设计汇报。
以上五项考评内容,每项占权重均为 20% 。
二、 编译原理设计题目
以下有六个课程设计题目,要求学生从中选择一个题目做此次课程设计。
First集和Follow集生成算法模拟
【问题描述】
设计一个由正规文法生成First集和Follow集并进行简化算法动态模拟。(算法参见教材)
【基础要求】
动态模拟算法基础功效是:
输入一个文法G;
输出由文法G结构FIRST集算法;
输出First集;i
i
)
(
*
+
Ffirst集
Tfirst集
Efirst集
1
1
1
1
1
1
1
1
1
输出由文法G结构FOLLOW集算法;
输出FOLLOW集。
【测试数据】
输入文法:
E-TE’
E’-+TE’|ε
T-FT’
T’-*FT’|ε
F-(E)|i
【实现提醒】
用数据库存放多行文法,用LIST控件显示算法,用GRID类依据算法进行作图。并实现算法和生成过程关联。
(二)LL(1)分析过程模拟
【问题描述】
设计一个给定LL(1)分析表,输入一个句子,能由依据LL(1)分析表输出和句子对应语法树。能对语法树生成过程进行模拟。(算法参见教材)
【基础要求】
动态模拟算法基础功效是:
输入LL(1)分析表和一个句子;
输出LL(1)总控程序;
输出依据句子组成对应语法树过程;
【测试数据】
输入句子:i*i+i
输入LL(1)分析表
?
?(E)
?i
F
??
? ?
?*FT
? ?
T
?FT
?FT
T
??
? ?
?+TE
E
?TE
?TE
E
#
)
(
*
+
i
【实现提醒】
用结构体数组存放多行正规式,用LIST控件显示算法,用CDC类依据进行算法进行作图。并实现算法和生成过程关联。
(三)FirstVT集和LastVT集生成算法模拟
【问题描述】
设计一个由正规文法生成FirstVT集和LastVT集算法动态模拟。(算法参见教材)
【基础要求】
动态模拟算法基础功效是:
输入一个文法G;
输出由文法G结构FIRSTVT集算法;
输出FirstVT集;
输出由文法G结构LastVT集算法;
输出LastVT集。
i
i
)
(
*
+
FfirstVT
TfirstVT
EfirstVT
1
1
1
1
1
1
1
1
1
【测试数据】
输入文法:
E-TE’
E’-+TE’|ε
T-FT’
T’-*FT’|ε
F-(E)|i
【实现提醒】
用数据库存放多行文法,用LIST控件显示算法,用GRID类依据算法进行作图。并实现算法和生成过程关联。
算符优先分析表生成模拟
【问题描述】
设计一个给定文法和对应
文档评论(0)