编译原理课程实践改革探索.ppt
《编译原理课程实践改革探索.ppt》由会员分享,可在线阅读,更多相关《编译原理课程实践改革探索.ppt(35页珍藏版)》请在三一办公上搜索。
1、编译原理课程实践改革探索,中国科学技术大学 计算机科学技术系张昱 陈意云,http:/济南 山东大学,编译原理课程实践改革探索,2/35,提纲,引言课程实践方案规划与历程课程实验的组成要素实验平台与相关工具课程设计软件包的特点实验改革实践与经验教训课堂教学中与实际的联系,2,编译原理课程实践改革探索,3/35,计算机科学与技术学科的本科教学目标,计算机科学与技术学科的毕业生除了要掌握该学科的各个知识领域的基本知识和技术之外,还必须具有较扎实的数学功底,掌握科学的研究方法,熟悉计算机如何得以实际应用,并具有有效的沟通技能和良好的团队工作能力。中国计算机科学与技术教程2002(CCC2002),编
2、译原理课程实践改革探索,4/35,专业实践及其意义,专业实践的形式课程实践、实习、毕业设计、竞赛、专业实践的意义激发学生的学习兴趣巩固和消化课堂知识提高实践技能培养创新能力增强交流能力,编译原理课程实践改革探索,5/35,存在问题,毕业生在就业中暴露出的一些问题动手能力较差分析问题、解决问题能力较薄弱岗前技术培训:其中有些是学校可以做而没有做的 岗前工程意识、质量意识和团队精神的教育:学校也可以逐步培养的 课程实践中存在的问题各课程的课程实践各自独立内容陈旧、覆盖面窄、综合性不高、难度低、规模小不注重对学生工程、质量、团队等意识的培养学生数增加,检查力度和深度不够学生对课程实践的热情未调动起来
3、,拷贝风气增长,编译原理课程实践改革探索,6/35,专业实践改革,指导思想首先抓课程实践改革,课程实践要整体规划像讨论教学计划那样来讨论技术水平的培养:语言、工具、平台的覆盖范围和相互之间的衔接。其覆盖程度依赖于制度的保证、学科机构的资源、教职人员的利益软件类的课程实践学生至少参与完成一个有一定规模的软件项目的设计与开发,涉及对多门课程所学原理的综合运用遵循由小到大、循序渐进的原则整体规划课程实践涉及的语言、工具和环境注意培养工程意识、质量意识和团队意识,编译原理课程实践改革探索,7/35,专业实践改革,软件类的课程实践低年级的课程实践(如C语言、数据结构)以巩固课程知识的小实验为主训练学生基
4、本的程序设计技能高年级的课程实践(如编译原理、操作系统等)以综合运用的课程设计为主训练学生软件工程的能力,编译原理课程实践改革探索,8/35,提纲,引言课程实践方案规划与历程课程实验的组成要素实验平台与相关工具课程设计软件包的特点实验改革实践与经验教训课堂教学中与实际的联系,8,编译原理课程实践改革探索,9/35,课程实践的规划,定位:综合运用的课程设计(通过合作)为某个语言设计开发一个可运行的编译器为适应个性化学习,布局多个小型课程设计学生可针对自己的基础选择适合自己的课程设计,当然不同难度系数的课程设计的得分不一样。历程调研做UC Berkeley的编译课程设计设计适合国情的课程设计及其支
5、持软件与文档2007/2008年春:在04/05级本科生中开展编译实验目前仍在进一步改进和完善中,编译原理课程实践改革探索,10/35,课程实验的组成要素(1),源语言SimpleMiniJOOL语言(仅有一个main函数、整型)SkipOOMiniJOOL语言(非面向对象,有整型、布尔型、一维数组类型)MiniJOOL语言(面向对象)中间表示高级中间表示:Eclipse JDT中的AST低级中间表示:降低汇编代码生成的难度,开展优化目标机的选择X86:CISCMIPS:RISC编译器组件:分析器、解释器、优化器、汇编代码生成器汇编代码的内部表示统一表示,以此为基础设计实现寄存器分配器,编译原
6、理课程实践改革探索,11/35,课程实验的组成要素(2),MiniJOOL程序,转换器,优化器,低级中间表示(三地址码),X86汇编代码生成器,MIPS汇编代码生成器,寄存器分配器,分析器,编译原理课程实践改革探索,12/35,实验平台与相关软件(1),编译器开发所使用的语言:JavaJava SDK 1.5以上Eclipse IDE分析器的生成工具词法分析器的生成工具:JFlexLALR分析器的生成工具:CUPLL(k)分析器的生成工具:Java CC目标机X86汇编代码:GCC(MinGW),GDBMIPS汇编代码:SPIM模拟器编译工具:ant,编译原理课程实践改革探索,13/35,实验
7、平台与相关软件(2),实验平台软件(当前的版本)实验平台接口:组件接口、异常类、中间表示访问接口实验运行平台配置文件根据配置加载、运行各编译器组件一些有用的工具包AST的图形显示低级中间表示汇编代码的内部表示寄存器分配器一些语言的分析器,编译原理课程实践改革探索,14/35,实验平台与相关软件(3),课程设计软件包(现有版本)http:/Lab1:一个SimpleMiniJOOL程序的解释器Lab2:词法分析用JFlex为MiniJOOL语言生成一个词法分析器手工编写一个简单的词法分析器编写一个NFA生成器编写一个词法分析器的生成器Lab3:语法分析手工编写一个语法分析器用CUP编写一个语法分
8、析器用JavaCC编写一个语法分析器编写一个语法分析器的生成器,编译原理课程实践改革探索,15/35,实验平台与相关软件(4),课程设计软件包(现有版本)http:/Lab4:语义分析为AST构造符号表对AST进行语义分析在语法分析的同时构造符号表在语法分析的同时做语义分析Lab5:MIPS汇编代码生成利用现有的寄存器分配器生成MIPS汇编代码独立实现完整的MIPS汇编代码生成器Lab6:x86汇编代码生成利用现有的寄存器分配器生成x86汇编代码独立实现完整的x86汇编代码生成器,编译原理课程实践改革探索,16/35,实验平台与相关软件(5),课程设计软件包(现有版本)http:/PB0501
9、1:综合性实验以SkipOOMiniJOOL语言作为要实现的源语言每个学生独立完成编译器的前端或后端每个学生自行选择完成后端或前端的合作伙伴前端要求:词法分析、语法分析、语义检查并生成AST后端要求:由AST生成x86汇编代码或MIPS汇编代码,不要求代码优化,但要求考虑寄存器分配等问题提交要求:一个完整的编译器,编译原理课程实践改革探索,17/35,实验平台与相关软件(6),课程设计软件包(未来版本)Lab1:一个SimpleMiniJOOL程序的解释器Lab2:词法分析Lab3:语法分析(增强对错误处理的指导)Lab4:语义检查(补充样例和指导说明)Lab5:低级中间代码生成Lab6:优化
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 课程 实践 改革 探索

链接地址:https://www.31ppt.com/p-6016588.html