“编译原理专题训练”课程介绍.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  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文档。上传文档
查看更多
“编译原理专题训练”课程介绍   摘要:“编译原理专题训练”是清华大学为计算机科学与技术系本科生开设的实践类限选课,旨在提高学生的实践能力。课程首次将开放源代码软件GCC和Open64作为实验框架引入实践教学,引导学生参与大型开源软件开发和维护活动,基于具有工业水准的真实软件开展实践。本文重点介绍了该课程在我校开设的基本情况,以期给大家更多的启示。   关键词:编译原理;实践;开源软件;GCC   中图分类号:G642 文献标识码:B      实践能力是计算机专业学生走向未来科研和工作岗位最为重要的专业技能之一。清华大学历来重视实践教学,在学校“985工程”二期本科人才培养项目的统一规划框架下,我校从2003级本科生开始,为计算机科学与技术系本科生开设了一系列实践类限选课,“编译原理专题训练”便是其中重要的一门。课程的目的是加强学生对系统软件的理解和把握,帮助学生通过实践的方式巩固理论知识,提高学生的软件开发能力。      1课程特色      清华大学“编译原理”课程面向计算机专业所有学生,培养学生学习掌握本专业必备的编程语言设计实现原理与技术,强调常见语言特征的实现原理与技术,而不讲授实际深层次语言特征的实现,也不涉及培养可胜任工业界实际编译系统开发人员的需求。   “编译原理专题训练”是“编译原理”的后续课程和有效补充,是一门限选课程,一方面体现某些高级编译技术的特点(如强调优化技术等),另一方面可以为有兴趣从事工业界实际编译系统开发工作(包括嵌入式系统开发)的学生提供必要的知识和技能储备(开源编译系统,相关工具链,参与实际的研究课题)。   因此,“编译原理专题训练”讲解部分基于工业界广泛采用的开源软件GCC,具体内容可浏览,以编程语言编译系统框架为主线安排实验。实验平台则率先采用开源软件GCC和Open64,具体内容可浏览,通过实验掌握词法分析、语法分析、中间表示、优化和目标代码生成以及交叉编译方面的基本技术和相关工具。   GCC是应用最广泛的开源编译系统。该系统是整个开源社区的基石,具有多语言、多目标支持能力,是所有Linux系统和部分Unix系统的默认编译工具,在4.0以上版本中采用GENERIC、GIMPLE和RTL等三层中间表示,GCC后端采用表驱动方式,可以人工方式构造特定语言目标机的描述文件(转换表格)实现重定向,支持市场上绝大多数处理器。   Open64是另一个开源编译系统,前身是SGI 公司用于64 位MIPS的Pro64编译器,其后采用了开放授权方式,称为Open Research Compiler,简称ORC,目前定名为Open64,其前端和GCC 4兼容,支持多种高级语言,后端支持Intel X86、Intel IA64、AMD64、MIPS(含国产龙芯)、ARM、PowerPC等多种体系结构。该系统最初定位是高性能计算,采用了五层中间表示,便于各种优化算法的实现,因此可以生成质量非常高的代码,在性能方面具有非常强的竞争力,得到研究领域和工业界的普遍认可,目前在嵌入领域也有大量应用。我们的科研团队是Open64的主要开发者之一,贡献了GCC扩展支持、PowerPC后端和C++异常处理相关的重要代码。Open64设计结构良好,分析优化全面,是编译器高级研究项目的理想平台。   采用开放的GCC和Open64软件作为实验平台,引导学生积极参与大型开源软件开发和维护活动,基于具有工业水准的真实软件进行实践活动,除编译实践之外,对于学生了解行业发展以及软件工程素养的培养也具有很大价值。      2课程的重要性      编译系统是信息行业不可或缺的重要工具软件,同时也是计算机科学、技术和工程完美结合的一个典范。前端词法、语法分析优雅的数学基础和相关自动工具,编译优化精巧的算法和准确高效的语义等价变换,以及中间表示独立于语言和体系机构的通用设计,处处闪烁着智慧的光芒。因此,GCC和Open64这样的开源编译系统,既是编译理论和技术的鲜活实例,也是软件工程的成功范例。   从目前发展形势来看,面向高性能计算的优化和针对嵌入系统的工作是编译发展的两个重要方向。   前者是计算机诞生以来一直持续发展的主题,对于每一个国家来说,高性能计算都是具有战略意义的课题,高性能计算的优化在未来十几年甚至几十年仍将持续发展。随着多核、众核技术的发展,与之相关的编程语言、编程模型和优化技术将是极为重要的研究内容。从编译器的角度来讲,这将涉及前端的语言和编程模型、后端的系统结构支持以及与之相关的优化和调试支持。   后者是面向嵌入领域的编译后端的设计与优化,是一个新兴领域。以手机为代表的嵌入式系统的高速发展带动了嵌入式领域的研发和设计,其中最重要的内容是针对特定应用需求,对软件

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档