“編译原理”教学改革思考与实践.docVIP

  1. 1、本文档共21页,可阅读全部内容。
  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文档。上传文档
查看更多
“編译原理”教学改革思考与实践

“编译原理”教学改革思考与实践 摘要:本文介绍了我院以培养专业素质为目标,从教学内容、授课方式、实验设计等方面对“编译原理”课程教学进行的改革,并介绍了教学效果。br  关键词br本文来自:计算机毕业网 :编译原理;教学改革;实验设计br       br  “编译原理”是计算机专业的一门核心课程,在计算机学科的教学体系中占有重要的地位。编译技术包含的算法和思想比较特殊,理论性较强,抽象度也较高。学习编译程序的构造原理和实现技术,不仅可以掌握编译程序本身的实现技术,同时也能够提高对程序设计语言的理解,提高语言的设计能力,提高元级程序的设计能力,提高开发大型软件的能力,能够培养学生的抽象思维能力和形式化描述能力[1]。但由于涉及的理论非常多,而且都是学生在学习其他课程时没有遇到的,所以教学效果一直不理想。br  br  1理论教学br  br  我院在教学过程中综合运用了任务驱动法[2]和案例教学法[3]两种方法,达到了不错的效果。但“编译原理”课程理论性非常强,内容也较多,若在短短一个学期将其全部内容不论巨细都囊括其中是非常不现实的,而且教学效果也一定不会理想。这就需要在教学内容、教学手段方面做一些工作。br  1.1精选授课内容br  通常“编译原理”都是按照编译的六个阶段进行组织的:词法分析、语法分析、语义分析、中间代码生成、中间代码优化,以及目标代码生成。但在教学内容方面,词法分析部分注重正规表达式及其与DFA的转换,而忽略DFA的识别功能;语法分析部分对自上而下、自下而上语法分析方法逐一进行介绍;中间代码部分过多描述,都使得学生在学习中分不清主次,造成混乱。因此在讲授内容方面,需要作适当的精选,突出重点,使学生从编译技术核心的内容入手。br  词法分析方面,正规表达式、确定的优先自动机的概念及两者之间的转换固然是重要的理论基础,但需要强调的是使用DFA进行单词的识别是词法分析阶段的最终目标。正规表达式是对单词的形式化的描述方法,如何让计算机能识别这种形式化的描述方法,就需要将其进行转换。此部分在实验题目的设计中也要有所体现。先让学生知道为什么,再讲授怎么做,带着问题进行学习。br  语法分析部分,包括两大类的方法:自上而下语法分析和自下而上语法分析。首先根据两类分析方法的特点,找出每类分析方法待解决的关键问题,然后根据关键问题,介绍每种分析方法是如何实现的。br  自上而下语法分析需要解决的关键问题是,在推导过程中若待替换的非终结符对应不同的产生式右部,应该如何选择产生式。LL(1)分析方法和递归下降子程序法都是通过计算每个产生式的Select集来解决这个关键问题。对于递归下降子程序,不但应该介绍其构造方法,还应该加入使用其进行语法分析的过程,如图1所示。这样才能加深学生的认识,使学生真正理解这种方法。br  br  自下而上语法分析方法需要解决的关键问题是寻找句柄。算符优先分析方法通过寻找素短语来寻找句柄,而LR分析方法通过寻找可归约活前缀来寻找句柄。有了这两种指导思想,学生在学习过程中就不会觉得无所是从。另外,在LR系列分析方法中,SLR(1)已经能够适应大多数的文法,所以在讲授过程中,仅将LR(1)方法的概念提出,而不做进一步深层次的介绍,这样的思路,使学生不必陷入很深的原理中而忽略学习原理的目的。br  其他章节方面,我们也对可有可无的周边内容进行了删减,只保留与编译技术思路大体一致的内容。通过对授课内容进行优化、精选,使学生在学习过程中总是从编译技术的角度去理解各部分的内容,而不是仅学到孤立的知识点和原理。br  1.2选择适当的教辅材料br  编译技术各部分原理都比较深奥,在课堂教学中除使用板书、多媒体教学等常规方式外,选择适当的教辅材料对学生理解和掌握原理也非常有帮助。br  例如,在使用LR语法分析方法中,根据文法构造识别活前缀的DFA、根据识别活前缀的DFA构造Action表和Goto表,以及使用Action表和Goto表进行分析的这一系列过程,使用常规的课堂教学手段将原理讲解清楚,然后使用教辅软件举例将各部分的构造进行动态演示。在04级教学过程中,此部分的软件使用网上的材料,而教学完成后,让学生结合自己的理解,针对课堂教学中他们对使用软件的认识自己设计编写教辅软件。这部分内容也作为实验环节的一项内容进行考核。而05届学生在学习时就采用上届学生编写的教辅软件,学习完成后再进行设计,以此类推。通过这种方式,一方面利用多种方式讲授了原理知识,另一方面激发了学生的学习热情及设计能力,使他们在不断的学习中进步。br  1.3结合实际程序讲授原理br  编译原理课程的教学,除了在实验方面需要体现理论联系实践,在原理讲授过程中结合学生在编写程序过程中容易出

文档评论(0)

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

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

1亿VIP精品文档

相关文档