欢迎来到天天文库
浏览记录
ID:25407843
大小:76.00 KB
页数:7页
时间:2018-11-20
《编译技术课程设计大纲及指导书》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、《编译技术》课程设计大纲及指导书实验名称:根据给定的文法完成一个小型编译器。实验目的:本课程设计实验项目的目标是通过实际构造一个完整的编译器,加深对编译器实现原理的理解,了解完整编译系统的构造方法。实验类型:验证型、提高型实验学时:50学时实验描述:根据各难度的题目的说明,选择一个难度等级,将获得一份随机分配的该难度等级的文法。根据获取的文法实现编译器:1.难度等级:低 目标:完成编译器及解释执行程序,解释执行程序对编译器产生的PCODE能解释执行,产生运行结果 文法:PL/0文法(与教材上的文法略有差别) 优化:无 中间代码:无 目标码:
2、PCODE 最高分:652.难度等级:中 目标:完成编译器及解释执行程序,解释执行程序对编译器产生的PCODE能解释执行,产生运行结果 文法:扩充C0文法 优化:无 中间代码:无 目标码:PCODE 最高分:853.难度等级:高 目标:实现编译器,生成X86汇编或MIPS汇编 文法:扩充C0文法(无实型) 优化:基本块内部的公共子表达式删除(DAG图);7 全局寄存器分配(引用计数或着色算法); 数据流分析(通过活跃变量分析,或利用定义-使用链建网等方法建立冲突图);其它优化自选;代码生成
3、时合理利用临时寄存器(临时寄存器池),并能生成较高质量的目标代码;中间代码:四元式目标码:32位X86汇编或MIPS汇编(任选一) 最高分:100实验要求:1.每人独立完成一份作业2.采用递归子程序法进行语法分析,所有代码要求手工编程实现3.可以有图形用户界面4.完成一份文档,包括以下内容: 1)需求说明:包括文法及其分析说明、目标代码说明、优化方案说明(高) 2)详细设计:包括程序结构、类、方法/函数的功能描述和调用依赖关系、关键算法、符号表管理方案、存储分配方案、解释执行程序结构(低中)、解释执行过程(低中)、四元式设计(高)、优化算法设计(高)
4、、出错处理方案 3)操作说明:包括程序安装、环境配置;程序启动后,编译、运行、结果显示等操作的说明 4)测试报告:包括至少10个测试程序的源程序及测试结果(无需截屏)(其中5个是有错误的文件,如有扩充,还需另外提供5个测试程序,扩充后的语言必须包含原来的语言)、测试结果分析 5)总结感想:完成本实验项目后的感想及建议5.用C/C++语言实现6.开发环境 VisualStudio或CodeBlocks7.提交完整的项目/工程文件,在集成开发环境下可编译运行8.目录命名及组织阶段成果以”学号_姓名_任务说明”命名提交的文档;最终成果组织为如下
5、三个文件夹: 源代码 文档测试程序 提交时打包为一个zip文件,按如下规则命名: 学号_姓名[_MIPS][_申优].zip(如12061001_×××_申优.zip ,12061001_×××.zip,12061001_×××_MIPS_申优.zip)考核:1.检查文档内容是否齐全、正确。2.将对每份作业的源程序进行编译,编译不通过不能得分;不能正常运行,不能得分。3.每份作业将用自己提交的测试程序和老师准备的5个测试程序进行测试,根据通过的测试点给分,并能根据要求修改测试程序进行测试。4.回答老师的现场提问。5.7申优的同学交一篇文章,以
6、指导如何完成课程设计为主要内容,着重说明在课程设计中遇到的各个困难点及所采用的解决方案,要求内容具体,阐述清楚,题目和内容组织自定。注意,文章与前面要求提交的技术文档不同。提交作业的同时提交文章。6.若发现程序或文档雷同,按作弊处理。7.文档所占比例20%,程序及运行状况所占比例80%。作业获取和提交 1.访问教学辅助平台,以学号登录,获取和提交作业。 2.每人最多能三次获取题目(同一难度最多允许两次),以最后一次为准(不保留前一次的记录,不能返回到前一次获取的结果),必须按最后一次获取的题目完成作业。 3.请在规定的时间内上网提交作业,逾期将关闭提交
7、通道。在时间允许范围内可多次提交作业,只保留最后一次。参考资料1.《编译原理及编译程序构造》第十四章第十五章附录A附录B 2.Compilers:Principles,Techniques,andTools.ByAlfredV.AHO,RaviSETHIandJeffreyD.ULLMAN3.中文版:编译原理,李建中,姜守旭译,机械工业出版社编译原理,赵建华,郑滔,戴新宇译,机械工业出版社4.AdvancedCompilerDesignandImplementation.ByStevenS.Muchnick.5.中文版:高级编译器设计与实现,赵克佳,沈志
8、宇译,机械工业出版社其他说明1. 首次登录请修改密码,务必填写个人联系信息。 2
此文档下载收益归作者所有