




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编译原理课程设计一、课程设计的基本要求和方法(一)、目 的进一步培养学生编译器设计的思想,加深对编译原理和应用程序的理解,针对编译过程的重点和难点内容进行编程,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格,并综合使用程序设计语言、数据结构和编译原理的知识,熟悉使用开发工具VC /JAVA/C#/.NET 。(二)、课程设计步骤1、问题理解和分析 充分地分析和理解问题本身,弄清要求做什么。2、确定解决问题的方法(设计)主要是找到解决问题的主要思路,是怎么做。在此阶段可考虑系统的功能和模块划分等。 3、详细设计和编码确定算法的主要流程,再进行编程。在此阶段应提醒学生程序可先在纸上写,尽量想清楚了再动手上机,在编程过程中注意程序结构的清晰性,避免出现很多明显的程序逻辑错误和语法错误,提高后面程序调试效率。4、程序调试和运行使学生掌握程序调试和排错的基本方法,增加编程的感觉和解决问题的成就感。5、完成课程设计报告(使用华东交通大学课程设计报告,需学生自己购买)1)问题描述题目要解决的问题是什么2)分析、设计、实现解决问题的基本方法说明,包括主要算法思想,算法的流程图。程序中主要函数或过程的功能说明。 3) 运行结果分析。4) 总结 遇到的主要问题是如何解决的、对设计和编码的回顾讨论和分析、进一步改进设想、经验和体会等。5) 附录,包括源程序关键代码和运行结果。(三)、考核评估通过程序实现、总结报告和学习态度综合考评,并结合学生的动手能力,独立分析解决问题的能力和创新精神。成绩分优、良、中、及格和不及格五等。考核标准包括:(1)编译器思想的正确性,包括是否采用了合适的数据存储结构等。(2)程序实现的正确性,包括程序整体结构是否合理、编程风格是否规范等。(3)程序功能的完善程度,包括功能的基本实现、基本完善、完全实现 (4)学生的工作态度、独立工作能力。 (5)课程设计报告。 以上五项考核内容,每项占的权重均为 20% 。二、 编译原理设计题目 以下有六个课程设计题目,要求学生从中选择一个题目做本次课程设计。 (一) First集和Follow集生成算法模拟【问题描述】 设计一个由正规文法生成First集和Follow集并进行简化的算法动态模拟。(算法参见教材)【基本要求】 动态模拟算法的基本功能是:(1) 输入一个文法G;(2) 输出由文法G构造FIRST集的算法;(3) 输出First集;i)(*+F的first集T的first集E的first集111111111(4) 输出由文法G构造FOLLOW集的算法;(5) 输出FOLLOW集。【测试数据】输入文法:E-TEE-+TE|T-FTT-*FT|F-(E)|i【实现提示】用数据库存储多行文法,用LIST控件显示算法,用GRID类依据算法进行作图。并实现算法与生成过程的关联。(二)LL(1)分析过程模拟【问题描述】 设计一个给定LL(1)分析表,输入一个句子,能由依据LL(1)分析表输出与句子对应的语法树。能对语法树生成过程进行模拟。(算法参见教材)【基本要求】 动态模拟算法的基本功能是:(1) 输入LL(1)分析表和一个句子;(2) 输出LL(1)总控程序;(3) 输出依据句子构成的对应语法树的过程;【测试数据】输入句子:i*i+i输入LL(1)分析表(E)iFe e*FT eTFT FTTe e+TEETETEE#)(*+i【实现提示】用结构体数组存储多行正规式,用LIST控件显示算法,用CDC类依据进行算法进行作图。并实现算法与生成过程的关联。(三)FirstVT集和LastVT集生成算法模拟 【问题描述】 设计一个由正规文法生成FirstVT集和LastVT集的算法动态模拟。(算法参见教材)【基本要求】 动态模拟算法的基本功能是:(1) 输入一个文法G;(2) 输出由文法G构造FIRSTVT集的算法;(3) 输出FirstVT集; (4) 输出由文法G构造LastVT集的算法;(5) 输出LastVT集。i)(*+F的firstVTT的firstVTE的firstVT111111111【测试数据】输入文法:E-TEE-+TE|T-FTT-*FT|F-(E)|i【实现提示】用数据库存储多行文法,用LIST控件显示算法,用GRID类依据算法进行作图。并实现算法与生成过程的关联。(四) 算符优先分析表生成模拟【问题描述】 设计一个给定文法和对应的FIRSTVT和LASTVT集,能依据依据文法和FIRSTVT和LASTVT生成算符优先分析表。(算法参见教材)【基本要求】 动态模拟算法的基本功能是:(1) 输入一个给定文法,及FIRSTVT和LASTVT集;(2) 输出算符优先分析表生成算法;(3) 输出算法优先分析表构造过程的过程;【测试数据】输入文法:E-TEE-+TE|T-FTT-*FT|F-(E)|i【实现提示】用结构体数组存储多行正规式,用LIST控件显示算法,用CDC类依据进行算法进行作图。并实现算法与生成过程的关联。(五) 算符优先分析过程模拟【问题描述】 设计一个给定算符优先分析表,输入一个句子,能由依据算符优先分析表输出与句子对应的语法树。能对语法树生成过程进行模拟。(算法参见教材)【基本要求】 动态模拟算法的基本功能是:(1) 输入算符优先分析表和一个句子;(2) 输出算符优先分析总控程序;(3) 输出依据句子构对应的语法树的过程;【测试数据】输入句子:i*i+i输入算符优先分析表【实现提示】用结构体数组存储多行正规式,用LIST控件显示算法,用CDC类依据进行算法进行作图。并实现算法与生成过程的关联。(六) LR分析过程模拟【问题描述】 设计一个给定LR分析表,输入一个句子,能由依据LR分析表输出与句子对应的语法树。能对语法树生成过程进行模拟。(算法参见教材)【基本要求】 动态模拟算法的基本功能是:(1) 输入LR分析表和一个句子;(2) 输出LR总控程序;(3) 输出依据句子构对应的语法树的过程;【测试数据】输入句子:i*i+i输入LR分析表r5r5r5r511r1r1S7r19r3r3r3r310S11S6810S4S57333FS4S4S4(r6r4r2)9r1S56r6r6r6528S54r4r4r43r2S7r22accS6121
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中化金融业务管理办法
- ppp项目部管理办法
- 融资租赁定价管理办法
- 精装房安装管理办法
- 莲花湖夜间管理办法
- 装修装饰材料管理办法
- 业务限时办结管理办法
- 个人信息专项管理办法
- 芙蓉镇景区管理办法
- 个人转贷服务管理办法
- 慢性肾衰竭的护理课件
- 《抗菌药物概论课件》课件
- 2025年惠州市国资本投资集团限公司招聘29人高频重点提升(共500题)附带答案详解
- 医院未来人才培养与引进策略
- 医院感染管理制度培训
- 【MOOC】研究生学术规范与学术诚信-南京大学 中国大学慕课MOOC答案
- 宁德时代应聘笔试题库及答案
- 《甘特图制作》课件
- 冀少版(2024新版)七年级上册生物第一单元《生物体的结构层次》1.2《细胞的形态》教案
- 旅游公司与导游合作协议书
- 实习合同范本(2篇)
评论
0/150
提交评论