- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
摘要文章介绍了编译原理在计算机专业中的重要地位,分析了学生学习该课程过程中存在的难点。 提出了对编译原理课程实验教学建设的一些想法和建议,并分析了这些变化对学生产生的影响。 关键词编译原理;实验教学;建设编译原理是计算机专业非常重要的一门专业课,在计算机教学中有着举足轻重的地位。 同时,编译系统是整个计算机系统中极其重要的系统软件,它的作用是把计算机高级语言最终翻译成等价的计算机指令,从而保证高级程序设计语言顺利运行。 所以,编译原理是计算机科学中基本研究内容之一。 编译原理课程主要介绍了编译的基本原理、技术以及实现的方法。 主要包括词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等六大部分。 通过以上学习,使学生系统掌握设计一般编译器的原理和方法,也能够同时加深学生对高级语言的认识,提高学生的综合编程水平和算法设计能力。 编译原理是计算机专业中最难的一门专业课之一,在理论上要求学生掌握形式语言和自动机等比较抽象的概念,在技术上要求学生能熟练利用各种方法设计程序,因此对学生的各方面水平要求比较高,对学生来说具有很大的挑战性。 1编译原理课程教学现状编译原理课程目前在教学中出现的问题主要有以下几方面。 1编译课程内容抽象,采用以往灌输式的教学模式,教学方法单一,无法让学生提起兴趣。 编译原理课程中的概念和算法大都是以符号、自动机、属性文法等抽象度很高的形式描述,光看教材会难免觉得枯燥无味。 如果教师还是用以往的方式灌输式教学,那么因为上述的原因,在整个教学中,学生学习知识很被动,学习知识缺乏动力,造成课难学的印象。 2学生学习过程中常常会认为编译在开发软件过程中应用不多,因此也很难提起学生的主动性。 编译原理这门课程包含的知识和算法,都有很高的难度。 与此同时,学生觉得教材中的理论知识和算法应用性不强。 编译原理中很多算法,比如和语法分析算法,代码优化技术等,只有在编译开发中能用到,而学生也不会从事这方面的研发,加上实现难度过大,会给学生造成难学的印象。 3学生之前学习高级语言程序设计,数据结构等课程掌握程度不好,也会影响学生的学习情况。 编译原理是大三的课程,它的先修课程一般在大一大二学习,如果学生之前就没有很好的学习相关知识,就会感到学习非常困难,比如数据结构中的栈,如果不了解,就会直接影响语法分析的理解和上机操作。 4课时有限,有时刚上完课,学期就结束了。 由于高校的改革,很多课程都遭到压缩,给教学带来了一定的难度。 很多高校在实验课上进行了压缩,仅仅学习编译的理论和算法,没有相应的实践,使得学生无法将理论具体、形象化,就难以更好地理解运用,更难说全面融会贯通整个编译器。 以上问题的焦点在于,本身编译就已经很抽象了,学生晦涩难懂,如果再没有相应的实验做支撑,难免会让学生有难学的印象,从而进一步影响编译课程的教学质量。 因此,在理论学习的同时,如何在有限的时间做好相关的实验教学,使得整个教学过程鲜活起来,让学生真正认识到编译是计算机的重要课程,必须学好,对以后算法设计,程序设计都会带来巨大帮助,是教学中必须面对并解决的问题。 近年来,国内学校在编译原理教学方面也积累了大量的经验,上海交通大学张冬茉等[1]提出了现阶段进行大型编译原理课程设计的教学模式和方法,使学生能够通过实现一个实用的编译系统,提高对编译原理的认识。 合肥师范学院祖弦等[2]针对每部分的核心知识点,设计实验教学实例,探讨在实验案例驱动下的编译原理课程教学创新方案。 2实验教学建设编译原理课程理论性很强,实践性更强,是两者相结合的课程。 理论部分抽象、难懂。 所以,在理纶学习过程中,适当地穿插实验,可以加强学生对重要知识点的认识和理解,同时也可以很好地培养学生的编程能力。 实验总体分为两部分1对编译原理中每一部分重要方法做相应的实验。 2最终整合这些部分,成为一个简单的编译器。 21词法分析器。 使用环境输入字符串序列以‘#’作为结束标志作为源程序,调用词法扫描程序将字符串以二元组的形式进行输出若有不属于语言单词的符号出现,则做出错处理,词法扫描程序包括了对源程序的预处理忽略无用空格、回车符,换行符等空白符,以及对单词的识别和分类,以形成单词种别,单词自身的值形式的二元组,并将用户自定义变量信息存入程序变量信息表中。 22语法分析。 使用自上而下的递归下降分析法,从文法开始符号出发,根据文法规则正向推导出给定的句子。 根据递归下降的分析函数编写规则来编写相应函数,在各个函数分析过程中调用词法分析程序中扫描程序,发出取下一个单词的命令
原创力文档


文档评论(0)