编译技术课程设计大纲及指导书.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《编译技术》课程设计大纲 实验名称: 根据给定的文法完成一个小型编译器。 实验目的: 本课程设计实验项目的目标是通过实际构造一个完整的编译器,加深对编译器实现原理的理解,了解完整编译系统的构造方法。 实验类型: 验证型、提高型 实验学时: 50学时 实验描述: 根据各难度的题目的说明,选择一个难度等级,将获得一份随机分配的该难度等级的文法。根据获取的文法实现编译器: 难度等级:很简单 ? 目标:完成编译器及解释执行程序,解释执行程序对编译器产生的PCODE能解释执行,产生运行结果??? 文法:PL/0文法(与教材上的文法略有差别)????优化:无??中间代码:无??目标码:PCODE??最高分:65难度等级:较简单????目标:完成编译器及解释执行程序,解释执行程序对编译器产生的PCODE能解释执行,产生运行结果 ????文法:C0文法????优化:无????中间代码:无????目标码:PCODE????最高分:70难度等级:适中????目标:完成编译器及解释执行程序,解释执行程序对编译器产生的PCODE能解释执行,产生运行结果????文法:扩充C0或扩充PL/0文法????优化:无????中间代码:无????目标码:PCODE????最高分:80 难度等级:较难???目标:实现编译器,生成X86汇编????文法: C0文法????优化:无??中间代码:四元式目标码:X86汇编最高分:89 难度等级:很难??? 目标:实现编译器,生成X86汇编? 文法: C0文法? 优化:基本块内部的公共子表达式删除? ???? 全局寄存器分配(着色算法) ????????? 基本的数据流分析(变量的活性分析,为全局寄存器分配准备)中间代码:四元式目标码:X86汇编?最高分:100 实验要求: 1. 每人独立完成一份作业2. 采用递归子程序法进行语法分析,所有代码要求手工编程实现3. 可以有图形用户界面4. 完成以下文档?? 1) 需求说明(应给出语法或语法图)?? 2) 详细设计(应给出程序结构,各函数的功能描述和调用依赖关系,符号表结构,运行栈结构,出错信息编号及描述等)?? 3) 操作说明(包括程序安装、环境配置;程序启动后,编译、运行、结果显示等操作的说明)?? 4) 测试报告(提供至少10个测试程序的源程序及测试结果(其中5个有错误的文件),如有扩充,还需另外提供5个测试程序)?? 5) 总结感想5. 用C/C++或Java语言实现6. 开发环境(Win2K, WinXP)???????? Eclipse 3.2,JDK1.5 ???????? Visual Studio 2003 7. 提交完整的项目/工程文件,在集成开发环境下可编译运行,提交能直接运行的程序包8. 目录命名及组织 每份作业组织为如下三个文件夹:??? 源代码??? 可执行文件? 文档 ?? 提交时打包为一个文件,按如下规则命名:? 学号_姓名[_申优].rar(如3060501_×××_申优.rar?? 3060501_×××.rar ×××_MIPS.rar) 考核: 1. 检查文档内容是否齐全、正确2. 将对每份作业的源程序进行编译,编译不通过不能得分;不能正常运行,不能得分3. 每份作业将用自己提交的测试程序和老师准备的5个测试程序进行测试,根据通过的测试点给分,并能根据要求修改测试程序进行测试4. 回答老师的现场提问5. 申优的同学参加申优答辩6. 若发现程序或文档雷同,按作弊处理7. 文档所占比例20%,程序及运行状况所占比例80% 作业获取和提交 ? 访问教学辅助平台,以学号登录,获取和提交作业。 ? 每人最多能两次获取题目(不同难度各允许一次),以最后一次为准(不保留前一次的记录,不能返回到前一次获取的结果),必须按最后一次获取的题目完成作业。 ?? 请在时间上网提交作业,逾期将关闭提交通道。在时间允许范围内可多次提交作业,只保留最后一次。 参考资料《编译原理及编译程序构造》第十四章 第十五章 附录A 附录B ? 《编译原理课程设计》,王雷 刘志诚 周晶编著,机械工业出版社 ?? Compilers: Principles, Techniques, and Tools. By Alfred V. AHO, Ravi SETHI and Jeffrey D. ULLMAN 中文版:编译原理,李建中,姜守旭译,机械工业出版社Advanced Compiler Design and Implementation. By Steven S. Muchnick. 中文版:高级编译器设计与实现,赵克佳,沈志宇译,机械工业出版社 其他说明? 首次登录请修改密码,务必填写个人联系信息。 ? 2. 直接生成机器码的可以获

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档