编译原理教学大纲(3)

编译原理教学大纲(3)

ID:35427901

大小:59.46 KB

页数:5页

时间:2019-03-24

编译原理教学大纲(3)_第1页
编译原理教学大纲(3)_第2页
编译原理教学大纲(3)_第3页
编译原理教学大纲(3)_第4页
编译原理教学大纲(3)_第5页
资源描述:

《编译原理教学大纲(3)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、编译原理教学大纲PrinciplesAndTechniquesOfCompilers课程代码:242013适用专业:计算机类总学时数:64编写年月:2004.7执笔者:昊伟民编写课程性质:专业课必修开课学期:5学分数:4修订年月:2007年7月张巍修订一、课程的性质和目的《编译原理》是计算机类专业的主干课程Z-O本课程讲述高级程序设计语言的编译程序构造的基本原理和实现技术,是计算机软件的核心技术之一。通过本课程的学习,学生应掌握文法和形式语言基础知识,具有分析和实现编译程序的初步能力,加深对程序设计语言原理的理解,并且提高中、人型程序的分析和开发能力。二、课程教学内容及学时分配总学时:64,

2、英中授课:56,实验:8O第1章绪论(2学时)主要内容:编译程序;解释程序;编译程序的组成;编译程序的构造。重点:掌握编译程序的基木概念;了解通用程序设计语言的主要特征;了解编译器在计算机系统中的地位和作用;了解编译器的某本工作原理;了解编译器各个阶段的工作与任务;理解对编译程序性能的基本耍求;了解编译器的编写工具。第2章文法和形式语言基础(8学时)主耍内容:符号串;文法和语言的形式定义;文法的分类;语法树和二义性;文法的限制和变换。垂点:文法和形式语言的皋本概念,尤其是上下文无关文法与上下文无关语言。第3章词法分析(6学时)主耍内容:词法分析程序的任务;词法分析程序的设计;止则文法、止则表

3、达式和有限自动机;词法分析程序;PL/O词法分析的设计与实现。重点:了解词法分析器的作用和基本丁作方式,理解构词规则与词法分析的关系,掌握利用状态转换图构造词法分析器的基本方法。第4章自顶向F语法分析(6学时)主要内容:递归了程序分析法;LL(1)分析法。重点:LL(1)文法的相关技术方法,递归下降分析器构造方法和LL(1)分析表构造方法。第5章自底向上语法分析(3养时)主要内容:白底向上方法概述,简单优先分析法,算符优先文法的定义,算符优先关系表的构造,算符优先分析算法,算符优先分析法的局限性重点:算符文法的形式;构造单优先分析表和算符优先关系分析表;句型的句柄和最左索短语。第6章LR分析

4、(8学时)主要内容:LR(O)分析法;SLR⑴分析法;LR(1)分析法;LALR(l)分析法。巫点:;LR族文法、可归前缀图构造以及分析表的构造。第7章语法制导翻译和屮间代码的生成(9学时)主耍内容:逆波兰表示;三元式和树表示;四元式;简单赋值语句的翻译;布尔表达式的翻译;控制语句的翻译;简单-说明语句的翻详;数组和结构的翻译。垂点:三种屮间语言:四元式、三元式、逆波兰表示;算术表达式的翻译,布尔表达式的翻译,控制语句的翻译。第8章符号表(3学时)主要内容:符号表的作用;符号表的内容;符号表栏H的组织;符号表的操作和结构。重点:符号表的作用、组织与实现。第9章目标程序运行时的存储组织(5学时

5、)主要内容:数据空间的管理方法,栈式存储分配,参数传递,过程调用、进入和返回。重点:栈式存储分配的实现;分程序结构的存储管理;参数传递。第10章代码优化(3痒时)主要内容:合并常数;消除多余运算;外提不变运算;削减运算强度;下标变量优化。重点:基本块和循环相关的代码优化方法第11章代码生成(3学吋)主要内容:代码生成概述,一个计算机模型,一个简单的代码生成器;PL/0编译程序的目标代码结构和代码生成。巫点:寄存器分呢的原则;待用信息链表法;代码生成算法。三、课程教学的基本要求木课程是计算机类专业的专业核心课程,要求理论与实践紧密结合。授课学时56,课内实验机时8,以及一周的课程设计。(1)总

6、体目标①对编译程序的整体结构有清晰的了解。②掌握词法分析和语法分析的基本方法。③具有设计各种常见语言成分的目标结构的能力。④掌握静态和动态存储分配技术。⑤熟悉编译程序中各种主要的数据结构。⑥具有分析和实现编译程序的初步能力。(2)实验和实践本课程是一门实践性很强的专业主干课程。每个学生一定耍完成课外习题和上机实验两个环节的作业。要求学生在分析理解一个教学型编译程序(如PL/O)的基础上,对其词法分析程序、语法分析程序和语义处理程序进行部分修改扩充。课内上机,8机时,完成实习题两个:①词法分析:扩充PL/O编译程序的词法分析器。②语法分析及代码生成:扩充和实现PL/O语言的ELSE语句。课程设

7、计一周,30机时,完成以下内容:①扩充和实现PL/0语言的数据类型。②扩充和实现PL/0语言的循环语句。四、本课程与其它课程的联系与分工《C语言程序设计》:先修课程。高级语言是编译程序的源语言,其数据类型、表达式、语句、程序结构、参数传递方式和存储管理方法等,是设计和实现编译程序的基础。《汇编语言程序设计》:先修课程。汇编语言是编译程序的目标语言,汇编语言的指令形式、寄存器、变址器以及寻址方式等,与编译程序代

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。