编译原理是一门好课程.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理是一门好课程 2004年12月 从20世纪50年代早期第一个编译器出现到现在,半个世纪过去了。在这50来年里,计算机科学家们用自己的聪明才智不断地丰富编译的原理、技术、方法,不仅为编译本身的发展做出了贡献,而且还通过为计算机科学与技术学科提供良好的工具和思想方法而对计算机科学与技术学科的发展做出了巨大贡献。正是由于这一原因,相关内容一直是计算学科各个分支专业,尤其是计算机科学与技术专业的重要教学内容。从较早的ACM68教程到ACM/IEEE-CS近期推出的CC2001、CC2005对相应的内容都有明确的要求。在我国,从87教程到《中国计算机科学与技术学科教程2002》也都对该课程给予了高度的重视(注:2006年发布的“计算机科学与技术学科规范”也在普适性较强的计算机科学专业方向中对此提出明确要求)。在实际教学中,各校都将其作为本科生的主要课程,有条件的单位还在大专教育中开设了相应的课程。特别值得注意的是,十余年前,他一直是该专业的主干专业课,近些年来,随着学科的发展,应用不断扩大,这门课程在某种意义上已经变成了专业基础课。甚至一些学校还在研究生教育阶段对相关的内容进行补充和深化。 考虑到本学科“理工兼有”和“理论与实践紧密结合”的特征,各个学校对“编译”的教学要求不尽相同,根据这些不同的要求,“编译”课程有很多不同的版本,也有很多不同的叫法。最典型的有:编译原理、编译技术、编译方法。按照作者的理解,编译原理比较强调从原理上对“编译”中用到的技术和方法进行论述,探究这些技术和方法的来源及依据,分析和阐述“基本原理”。编译技术大体上在于讲述编译器实现中的一些关键技术,重点强调如何实现。编译方法则应该以完成“编译”所用到的方法的叙述为主线,通过对编译系统的设计与实现的讲述,介绍其中用到的一些基本方法,这些方法将在学科的研究与工程实现中常常用到。一般用“编译”来指称这些课程,需要的时候再明确地进行区分。 无论如何要求、如何定位,按照现代大学教育通过知识培养能力提高素质的基本要求,我们都是以知识为载体,通过“编译”中知识的传授,将其中的“思想”、“方法”传授给学生,甚至让学生和教师一起去体验和感受大师们在产生这些思想、发明这些方法时的“历程”,获得“顶峰体验”,以激发创新之激情,建立创新之意识,培养创新之能力。 但是,曾经有一段时间,人们对“编译”课程产生了一定的怀疑。理由和原因是多方面的,其中最为重要的理由之一是“我们的学生毕业以后几乎没有人会进行编译器的设计与实现”;另一个原因是“编译”比较难,又“没有用”,所以学生也不太愿意学习。实际上,这些都是“浮躁”情绪的表现。反映出我们的视线被眼前的计算机系统的“友好界面”挡住了,被当前处于起步阶段的应用要求限制住了,甚至是忘了“我们是搞计算机的”。 前面提到,“编译”在十余年前,一般都是被当作专业课开设的。就国内计算机教育而言,特别是在20世纪70年代和80年代初,开办计算机专业的学校很少,大约有五、六十所。那个时候,计算机系统的总体性能还比较低,基本的软件系统的基本性能还比较低,特别是界面的“友好性”还很差,应用面也很窄。在那个时期,计算机专业的人主要从事系统软件的研究开发,因此,大家都将“编译”作为专业课来开设。而且那个时候,也确实有一定比例的人在从事编译系统的研究开发。后来,随着计算机软硬件系统性能的提高,尤其是系统软件丰富,使得大量的计算机专业人才有了更多的精力去关心计算机技术的更广泛更深入的应用,更多地关心新的应用技术的开发。虽然在20世纪80年代后期开办计算机专业的学校有了较大幅度的增长,但由于惯性等因素,这些学校仍然将“编译”当成专业课程开设。 随着国内的计算机专业的进一步飞速发展,尤其是近十余年来,开办计算机专业的学校已经达到505所(注:2005年已经达到771所)学校之多,使得大多学生的未来工作变成了对具体应用系统的开发,在这种情况下,编译、操作系统不再是他们的研究内容,但这两门传统的专业课程中含有的原理、技术、方法和思想则是在今后将进行的应用系统的开发中常用的。特别是其中含有的问题求解基本思想,已经成为一些最经典、最有用的思想,在这种情况下,如同程序设计、数据结构与算法、计算机组成原理那样,“编译”、操作系统就成了计算学科各个分支专业的专业技术基础课程。 “编译”是将高级语言描述的程序变换成与之等价的另一种语言表达的程序,前者被称为源语言,后者被称为目标语言。通常我们都要求目标语言为汇编语言或者机器语言。在这个系统的设计与实现中,用到计算学科很多基本的原理、技术和方法。所以,从原理、技术、方法传授的角度讲,开设此课程的目的之一是将这些基本的原理、技术和方法传授给学生。所以,《编译原理》是一门非常好的课程,Alfred V.Aho曾经在其编著的、并且被公认为经

文档评论(0)

CUP2008013124 + 关注
实名认证
内容提供者

北京教育部直属高校教师,具有十余年工作经验,长期从事教学、科研相关工作,熟悉高校教育教学规律,注重成果积累

1亿VIP精品文档

相关文档