编译原理实验指导课件.ppt
《编译原理实验指导课件.ppt》由会员分享,可在线阅读,更多相关《编译原理实验指导课件.ppt(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Yu Zhang,USTCYu Zhang,USTC编译原理实验指导课件 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望Yu Zhang,USTCYu Zhang,USTC编译原理实验指导编译原理实验指导2资源资源v编译原理实验教程及实验软件包编译原理实验教程及实验软件包http:/ 1.5的文法规范文件:的文法规范文件:java15.cup,java15.jjEclipse AST-JDT Plug-in Developer GuideReferenceAPI
2、Reference org.eclipse.jdt.core.domJDK+Ant Eclipse IDEJFlex,Java CUP(LALR)/JavaCC(LL(k))GCC/SPIMYu Zhang,USTCYu Zhang,USTC编译原理实验指导编译原理实验指导3编译器实现框架编译器实现框架Yu Zhang,USTCYu Zhang,USTC编译原理实验指导编译原理实验指导4实验入门指南实验入门指南初步了解初步了解v开发基础开发基础Eclipse IDE+JDK+ant-命令控制台命令控制台+JDK+ant-汇编码的运行:汇编码的运行:GCC、SPIM自主研发的实验平台及支持库自主
3、研发的实验平台及支持库v实验语言实验语言SimpleMiniJOOL语言的特点(见实验教程语言的特点(见实验教程2.1节)节)SkipOOMiniJOOL语言的特点语言的特点-词法:实验教程词法:实验教程3.2节;语法:节;语法:4.1节;语义:节;语义:5.1节节v中间表示中间表示Eclipse AST:(见实验教程:(见实验教程2.4,2.5节)节)LIR:(见实验教程:(见实验教程6.2节)节)Yu Zhang,USTCYu Zhang,USTC编译原理实验指导编译原理实验指导5实验入门指南实验入门指南初步了解初步了解v目标机目标机X86 CISC生成的汇编码能由生成的汇编码能由GCC编
4、译生成可执行文件编译生成可执行文件MIPS RISC生成的汇编码能由生成的汇编码能由SPIM模拟器解释执行模拟器解释执行汇编码简介:实验教程汇编码简介:实验教程7.2和和7.3节节v汇编码的内部表示汇编码的内部表示AIR(实验教程实验教程7.4节节)Yu Zhang,USTCYu Zhang,USTC实验软件包:课程设计开发包目录实验软件包:课程设计开发包目录编译原理实验指导编译原理实验指导6v课程设计开发包目录课程设计开发包目录Yu Zhang,USTCYu Zhang,USTC实验软件包:实验支持库的构成实验软件包:实验支持库的构成编译原理实验指导编译原理实验指导7Yu Zhang,UST
5、CYu Zhang,USTC实验运行平台实验运行平台编译原理实验指导编译原理实验指导8参见实验教程参见实验教程2.3节节v目的目的提供各类编译器组件及组件间信息访问的接口,简称提供各类编译器组件及组件间信息访问的接口,简称实验平台接口。实验平台接口。提供一个实验运行平台,它能够将若干个编译器组件提供一个实验运行平台,它能够将若干个编译器组件连接装配成一个完整的编译器或解释器并控制它们的连接装配成一个完整的编译器或解释器并控制它们的运行。运行。用户可以通过平台配置文件灵活地定制待装配的各个用户可以通过平台配置文件灵活地定制待装配的各个编译器组件以及待编译或解释执行的源程序文件等。编译器组件以及待
6、编译或解释执行的源程序文件等。Yu Zhang,USTCYu Zhang,USTC实验平台接口实验平台接口编译原理实验指导编译原理实验指导9Yu Zhang,USTCYu Zhang,USTC实验任务实验任务(1)v每一学生可选的待开发组件每一学生可选的待开发组件组件组件1:带语义检查的分析器:带语义检查的分析器(生成生成AST)组件组件2:带语义检查的分析器:带语义检查的分析器(生成生成LIR)组件组件3:基于:基于AST的的x86汇编代码生成器汇编代码生成器组件组件4:基于:基于AST的的MIPS汇编代码生成器汇编代码生成器组件组件5:基于:基于LIR的的x86汇编代码生成器汇编代码生成器
7、组件组件6:基于:基于LIR的的MIPS汇编代码生成器汇编代码生成器v合作伙伴的组合方式合作伙伴的组合方式组件组件1+组件组件3+GCC 组件组件1+组件组件4+SPIM组件组件2+组件组件5+GCC 组件组件2+组件组件6+SPIM编译原理实验指导编译原理实验指导10Yu Zhang,USTCYu Zhang,USTC实验任务实验任务(2)v前端任务:组件前端任务:组件1或组件或组件2词法分析、语法分析、静态语义分析、中间表示的生成词法分析、语法分析、静态语义分析、中间表示的生成其中涉及符号表的设计与实现其中涉及符号表的设计与实现v后端任务:组件后端任务:组件3组件组件6之一之一需要考虑动态
8、语义检查(如数组下标越界)、短路计算、需要考虑动态语义检查(如数组下标越界)、短路计算、寄存器分配等,但是对代码优化不作要求。寄存器分配等,但是对代码优化不作要求。独立开发后端时,需要设计和实现符号表独立开发后端时,需要设计和实现符号表生成的生成的x86汇编代码应能直接用汇编代码应能直接用gcc汇编连接得到可执行汇编连接得到可执行文件,生成的文件,生成的MIPS汇编代码则应能在汇编代码则应能在SPIM上执行上执行若需要使用其他目标平台,必须在若需要使用其他目标平台,必须在6月月13日前与张昱老日前与张昱老师联系并确认是否可以使用。师联系并确认是否可以使用。编译原理实验指导编译原理实验指导11Y
9、u Zhang,USTCYu Zhang,USTC实验任务实验任务(3)v最终的编译器最终的编译器自行选择前后端自行选择前后端-定义好接口,不开放源代码,只提供定义好接口,不开放源代码,只提供jar文件和接口说明,运文件和接口说明,运行时应能输出作者名行时应能输出作者名-你的前端(后端)被采用得越多,则得分越高你的前端(后端)被采用得越多,则得分越高每个同学只负责自己提交的编译器的质量。每个同学只负责自己提交的编译器的质量。组件发布人不必考虑其发布的版本被使用的所有编译组件发布人不必考虑其发布的版本被使用的所有编译器的质量。器的质量。编译原理实验指导编译原理实验指导12Yu Zhang,UST
10、CYu Zhang,USTC提交和发布时间节点提交和发布时间节点v提交节点提交节点5月月15 提交系统设计书,包括进度表和提交系统设计书,包括进度表和拟开发的组件拟开发的组件5月月22前前 经老师认可学生可调整拟开发的组件经老师认可学生可调整拟开发的组件5月月31 提交已完成源代码和前后端接口描述提交已完成源代码和前后端接口描述6月月10 再次提交已完成源代码和进度报告再次提交已完成源代码和进度报告6月月20 提交源文件、类库文件、测试程序、设计文档提交源文件、类库文件、测试程序、设计文档等等6月月22 提交课程实践的收获、体会和建议(发邮件给提交课程实践的收获、体会和建议(发邮件给张昱老师)
11、张昱老师)v发布节点发布节点6月月13 发布测试程序发布测试程序6月月16 发布测试环境,对最终提交文档的规定发布测试环境,对最终提交文档的规定编译原理实验指导编译原理实验指导13每次提交时需要说明当前的执行进每次提交时需要说明当前的执行进度与计划中的出入与原因,以及对度与计划中的出入与原因,以及对计划的调整(如果有的话)!计划的调整(如果有的话)!Yu Zhang,USTCYu Zhang,USTC课程设计成绩评定课程设计成绩评定(1)v评分方式和过程评分方式和过程10 12个学生一组,大家参与,公开评分个学生一组,大家参与,公开评分评委:评委:1个教师、助教、同组所有同学个教师、助教、同组
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 实验 指导 课件
限制150内