编译原理---课设计题目.docVIP

  • 51
  • 0
  • 约3.59千字
  • 约 7页
  • 2016-11-23 发布于贵州
  • 举报
编译原理---课设计题目

编译原理课程设计 一、课程设计的基本要求和方法 (一)、目 的 进一步培养学生编译器设计的思想,加深对编译原理和应用程序的理解,针对编译过程的重点和难点内容进行编程,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格,并综合使用程序设计语言、数据结构和编译原理的知识,熟悉使用开发工具VC 6.0 或JAVA 。 (二)、课程设计步骤 1、问题理解和分析 充分地分析和理解问题本身,弄清要求做什么。 2、确定解决问题的方法(设计) 主要是找到解决问题的主要思路,是怎么做。在此阶段可考虑系统的功能和模块划分等。 3、详细设计和编码 确定算法的主要流程,再进行编程。在此阶段应提醒学生程序可先在纸上写,尽量想清楚了再动手上机,在编程过程中注意程序结构的清晰性,避免出现很多明显的程序逻辑错误和语法错误,提高后面程序调试效率。 4、程序调试和运行 使学生掌握程序调试和排错的基本方法,增加编程的感觉和解决问题的 成就感。 5、完成课程设计报告(使用华东交通大学课程设计报告,需学生自己购买) 1)问题描述 题目要解决的问题是什么 2)分析、设计、实现 解决问题的基本方法说明,包括主要算法思想,算法的流程图。 程序中主要函数或过程的功能说明。 运行结果分析。 总结 遇到的主要问题是如何解决的、对设计和编码的回顾讨论和分析、进一步改进设想、经验和体会等。 附录,包括源程序清单和运行结果。 (三)、考核评估 通过程序实现、总结报告和学习态度综合考评,并结合学生的动手能力,独立分析解决问题的能力和创新精神。成绩分优、良、中、及格和不及格五等。 考核标准包括: (1)编译器思想的正确性,包括是否采用了合适的数据存储结构等。 (2)程序实现的正确性,包括程序整体结构是否合理、编程风格是否规范等。 (3)程序功能的完善程度,包括功能的基本实现、基本完善、完全实现 (4)学生的工作态度、独立工作能力。 (5)课程设计报告。 以上五项考核内容,每项占的权重均为 20% 。 二、 编译原理设计题目 以下有七个课程设计题目,要求学生从中选择一个题目做本次课程设计。 First集和Follow集生成算法模拟 【问题描述】 设计一个由正规文法生成First集和Follow集并进行简化的算法动态模拟。(算法参见教材) 【基本要求】 动态模拟算法的基本功能是: 输入一个文法G; 输出由文法G构造FIRST集的算法; 输出First集; 输出由文法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)分析表 【实现提示】 用结构体数组存储多行正规式,用LIST控件显示算法,用CDC类依据进行算法进行作图。并实现算法与生成过程的关联。 (三)FirstVT集和LastVT集生成算法模拟 【问题描述】 设计一个由正规文法生成FirstVT集和LastVT集的算法动态模拟。(算法参见教材) 【基本要求】 动态模拟算法的基本功能是: 输入一个文法G; 输出由文法G构造FIRSTVT集的算法; 输出FirstVT集; 输出由文法G构造LastVT集的算法; 输出LastVT集。 【测试数据】 输入文法: E-TE’ E’-+TE’|ε T-FT’ T’-*FT’|ε F-(E)|i 【实现提示】 用数据库存储多行文法,用LIST控件显示算法,用GRID类依据算法进行作图。并实现算法与生成过程的关联。 算符优先分析表生成模拟 【问题描述】 设计一个给定文法和对应的FIRSTVT和LASTVT集,能依据依据文法和FIRSTVT和LASTVT生成算符优先分析表。(算法参见教材) 【基本要求】 动态模拟算法的基本功能是: 输入一个给定文法,及FIRSTVT和LASTVT集; 输出算符优先分析表生成算法; 输出算法优先分析表构造过程的过程

文档评论(0)

1亿VIP精品文档

相关文档