普通本科院校编译原理教学改革探讨_第1页
普通本科院校编译原理教学改革探讨_第2页
普通本科院校编译原理教学改革探讨_第3页
普通本科院校编译原理教学改革探讨_第4页
普通本科院校编译原理教学改革探讨_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、普通本科院校编译原理教学改革探讨论文导读:针对编译原理课程的特点及要求,共设置了五个实验项目。关键词:编译原理,教学内容,实验教学1教学内容的选取针对我校刚升本的一般本科院校,教材采用2,教学内容的选取应强调对编译原理和技术的宏观理解及全局把握,而不要把学生的注意力分散到一些细节的算法上,在讲述各章的理论的同时要有一些C语言小程序作为例题或习题。免费论文参考网。结合编译的各个阶段,对教学内容的选取如下:1.1词法分析本部分主要以正规式、NFA(不确定的有限自动机)、DFA(确定的有限自动机)及其最小化为主线来讲解,同时对词法分析器进行介绍,演示用C语言写的一个简单语言的词法分析器,并要求学生上

2、机实现。1.2语法分析这一部分中,上下文无关文法是必备基础知识。语法分析包括自上而下与自下而上的语法分析二种。自上而下的语法分析包括二种:LL文法和递归下降分析方法,这两种方法比较简单进行可进行详细介绍,用一个简单语言的递归下降分析程序作为例子进行讲解效果更佳。自下而上的语法分析出包括二种:算符优先与LR分析方法,由于目前编译器的语法分析中已不再采用算符优先方法,因些可只作简单的介绍就可以了。LR分析方法是比较重要的语法分析方法,但由于SLR分析、规范LR分析和向前看LR分析非常复杂,讲解时需要占用较多的课时,不介绍这几种LR分析表的生成算法可直接介绍LR分析表的使用较好。因此,在介绍自下而上

3、分析的一般概念和使用LR分析表进行移进归约分析后,可以直接介绍分析器的自动生成器,并介绍归约时的语义动作,为下面阶段语义工作的描述奠定基础。1.3语义分析和中间代码的产生静态语义检查通常包括:类型检查、控制流检查、一致性检查、相关名字检查,重点应放在类型检查上,类型系统在编程语言的设计中占据重要位置,讲解时先介绍类型系统在编程语言中的作用,然后用语义动作来表达类型检查算法。中间代码生成主要介绍各种形式的中间语言,把赋值语句和各种控制流语句翻译成中间代码的语义动作。对于类型和变量声明语句,重点关注怎样按语言的作用域规则组织符号表。符号表中符号的插入和查找方法在数据结构中已经阐述过,只需稍作提及就

4、可以了。1.4属性文法与语法制导翻译语法制导的定义和语法制导的翻译方案是描述编程语言翻译的两种常用形式方法。它们描述严格并便于理解,因此大部分有一定深度的教材都用它们来描述静态语义检查和中间代码生成等。这一部分内容较难,简单加以介绍,让学生有所了解即可。1.5运行时存储空间的组织和管理这是最需要搞明白部分。尤其在用C这样比较低级的语言时,掌握这部分内容对编写程序和程序排错都很有帮助。具体应该介绍局部存储分配策略(即一个活动记录中各类数据的组织),静态分配、栈式分配和堆式分配等三种全局存储分配策略,非局部名字的访问方式和各种参数传递方式的实现。1.6代码生成选择一种采用简单的寄存器分配策略的代码

5、生成算法加以介绍,让学生对代码生成有所了解即可。1.7代码优化用实例来介绍各类优化,让学生明白编译器能完成哪些优化,而不要给学生介绍各种优化算法。这对编程有用处,例如,在可读性好的源代码和优化的源代码两者之间做选择时,若知道那些优化可以由优化编译完成,则宁可选择可读性好的代码。2.实验内容的选取设计一组适宜实验内容:首先,要将编译理论和方法在实验中得以概括,使学生不仅掌握它们本身具体应用,而且掌握由这些理论和方法所构造编译程序的各个部件是如何在整个系统中协调运行,这是实验最重要目的之一。其次,必须合理地简化,使学生比较容易完成。针对编译原理课程的特点及要求,共设置了五个实验项目。这组实验既和理

6、论课内容相辅相承,同时相互之间又互相关联,构成了一个实验整体。实验一:消去C、C+程序中的注释(2学时,必做)实验目的: 掌握C语言文件的基本操作,消除源C语言程序中的注释,为以后的编译提供方便。实验要求:对给定的带注释的C语言源程序,利用该程序去掉注释,输出去除注释的源程序。实验二:词法分析(必做,4学时)目的:通过设计编制调试一个具体的词法分析程序,加深对词法分析原理的理解。免费论文参考网。并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。要求:编写程序对输入的源程序字符串进行词法分析,对符合下述文法描述的字符串,建立单词符号表,不符合的字符串给出错误信息。实验三

7、:递归下降分析法(4学时,选做)目的:根据给定的文法编制调试递归下降分析程序,以便对任意输入的符号串进行分析。本次实验的目的主要是加深对递归下降分析法的理解。要求:对给定的文法,利用递归下降分析法对任意输入的符号串进行分析语法分析,对符合下述文法描述的字符串(表达式或赋值语句),给出中间代码,不符合的字符串给出错误信息实验四:语法分析程序LL(4学时,必做)目的:通过该实验使学生掌握描述语法规则的文法,以及加深对语法分析中自顶向下分析法中的预测分析法的理解。免费论文参考网。要求:对给定的文法建立预测分析表,利用预分析法对实验一中词法分析产生的符号进行语法分析,对符合下述文法描述的字符串(表达式

8、或赋值语句),给出中间代码,不符合的字符串给出错误信息。内容:用扩充的BNF表示(同实验三)。实验五:语法分析程序LR(4学时,必做)目的:通过该实验使学生加深对语法分析中自下而上分析法中的LR分析法的理解。要求:对给定的文法手工建立LR分析表;利用LR分析法对实验二中词法分析产生的符号进行语法分析,对符合实验中文法描述的字符串(表达式或赋值语句)给出中间代码;不符合的字符串给出错误信息。内容:用扩充的BNF表示(同实验三)3.小结编译原理课程在计算机课程体系中的重要地位,决定了其课程建设和改革的长期性,对培养计算机专业的人才也有着重要的作用,探索该课程的教学方法,提高教学质量是从事计算机教育工作者的必须重视的问题,也是一个永远值得探讨的问题,我们根据我系的实际情况合理的运用现代手段,综合考虑多种因素,将该课程的教学改革

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论