程序设计语言编译原理-教学探索与实践.pdfVIP

程序设计语言编译原理-教学探索与实践.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序设计语言及其教学探索 种事件驱动的程序设计.这对于三、四年级的本科生来说还是较难掌握的。学生认为学习理 论对实际操作用处不大,对理论学习不感兴趣。而且该课程涉及多门前驱课程,如计算机导 论、C/PASCAL高级语言、数据结构、离散数学、汇编语言等,如果这些前驱课程学得不好, 使得学习编译原理就比较困难。 (3)该课程包含了很多算法,如:大的有UI)分析算法和各种LR分析算法,小的有 DFA化简算法、计算开始符号集合和后继符号集合的算法。要记住这么多算法是件不容易的 事情。 . 2课程作用 教好一门课程,酋先应明确教学目的.这样才能有睾-t-对性、有目的性地进行教学,才能 培养学生学习的兴趣和热情。《程序设计语言编译原理》除了讲授编译程序的构造方法外,更 主要的是通过该课程使学生掌握计算机学科中解决问题的思路、抽象问题和解决问题的办法, 培养学生科学的、严谨的思维方法,这些能力的培养会让计算机软件专业的学生终生享用不 尽。 编译器产生于20世纪60年代,在计算机科学技术发展历史中发挥了巨大作用,编译器 的原理和技术具有十分普遍的意义。通过编译原理的学习,第一,学生可以惭设计语言 的设计和实现有深刻的理解,对和程序设计语言有关的理论有所了解,对宏观匕把握程序设 计语言来说能起—个奠基的作用。第二,编译原理课程的学习还有助于学生快速理解、定位 和解决在程序编译、测试与运行中出现的问题。第三,对软件工程来说,编译程序是—个很 好的实例(基本设计、模块划分、基于事件驱动的编程等),编译原理课程所介绍的概念和技 术能应用到—般的软件设计中。另外,编译技术在软件安全、程序理解和软件逆向工程等方 面有着广泛的应用【l】,是开发计算机应用系统不可缺少的重要工具。 概括地讲,通过该课程的学习,对提高学生计算机软件素质,使学生真正认识计算机信 息处理实质并综合运用所学的软件设计技术来分析问题等具有很大作用。对熟悉编译过程、 掌握计算机高级语言的生成机制、理解具体程序的运行状态起着关键作用。 3采取的教学策略 (1)宏观理解,全局把握,减轻课程学习难度 任何事情之间都是有联系的,编译原理课程也不例外。编译原理课程的各个章节之间不 是孤立存在的,几乎每一章都介绍编译过程的—个阶段,而编译程序是由词法分析程序、语 法分析程序、语义分析程序、代码优化程序和目标代码生成程序等五个主要部分组成的.这 五个部分相辅相成、相互联系、紧密相关,而学生自己学习时意识不到这一点。为了减轻课 程学习难度,讲授各章节内容时尽量前后联系,使得学生在学习编译原理课程时要用联系而 不是孤立的方法去学习,把这些内容结合起来、统—起来学习,对编译原理有—个整体认识. 就能起到事半功倍的学习效果。 另外,该课程与很多计算机专业课程之间都有着密切的联系。 如:翻译程序包含汇编程序、编译程序、解释程序三种,而我们常用的就是使用编译程 序将高级语言翻译成汇编语言或机器语言。这样就很容易将学生以前学过的汇编语言与高级 语言程序设计和编译原理这门课程联系起来,就能使学生更好地理解编译原理的学习目的。 再如:编译原理课程中使用到的原理和算法,很多都离不开离散数学和数据结构中的知 识,如线性表、数组、栈等。因此学好这些专业基础课程对本课程的学习有很大帮助。 教学内容与体系 141 我们认为对编译原理和技术的宏观理解及全局把握比了解—些局部的算法重要得多。因 此我们强调运行时的存储空间组织、U』1)和LROy-A析的本质区别、各种LR分析法之间的 差异、语法制导的方法等,T,-E学生的注意力分散到—些枝节的算法上,如计算开始符号集 合和后继符号集合的算法、回填技术等。 (2)注重实例,新旧知识巧妙结合,提高学生学习的积极性和主动性 编译课程中的概念多用的是形式化的数学语言加以描述,这些慨念的理解对学生来讲是 困难的,必须通过大量实例加以说明。 俗话说,兴趣是最好的老师。单纯的编译原理课堂教学过于抽象和理论化,在课程讲授 的过程中,我们不局限于教材上的内容,而是通过将该课程与其他课程的联系结合起来,使 学生的知识在学习过程中形成知识链,便于学生系统地掌握本学科的知识,也能够让学生提 高对编译原理重要性的认识,增加学习兴趣。 例如

文档评论(0)

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

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

1亿VIP精品文档

相关文档