编译原理教学大纲.docx
- 文档编号:18026590
- 上传时间:2023-08-07
- 格式:DOCX
- 页数:12
- 大小:18.33KB
编译原理教学大纲.docx
《编译原理教学大纲.docx》由会员分享,可在线阅读,更多相关《编译原理教学大纲.docx(12页珍藏版)》请在冰点文库上搜索。
编译原理教学大纲
《编译原理》课程教学大纲
一课程说明
1.课程基本情况
课程名称:
编译原理
英文名称:
CompilePrinciple
课程编号:
2413244
开课专业:
计算机科学与技术
开课学期:
第三学年第五学期
学分/周学时:
1
课程类型:
专业选修课
2.课程性质(本课程在该专业的地位作用)
本课程是计算机专业学生的一门重要专业基础课,本课程属于计算机科学与技术专业的一门重要的专业必修课。
通过本课程学习,使学生掌握编译程序的一般构造原理,包括语言基础知识、词法分析程序设计原理和构造方法。
各种语法分析技术和中间代码生成符号表的构造、代码优化、并行编译技术常识及运行时存储空间的组织等基本方法和主要实现技术。
它有一定的理论性,又有一定的实践性,尤其是本课程的知识与计算机应用中很多领域有紧密联系与广泛应用。
了解与掌握本课程的基本内容将有利于学生提高专业素质和适应社会多方面需要的能力。
3.本课程的教学目的和任务
培养学生掌握构造编译程序的基本原理与设计方法,为培养计算机语言与大型应用程序的开发人才打下良好的基础。
本课程坚持理论与实践教学并重的原则,理论上主要叙述语言和文法的形式定义、自动机理论、词法分析、语法和语义分析、优化和代码生成等环节的基本理论和方法,与此同时,通过上机实习构造简单语言的编译程序等编辑器使学生掌握开发应用程序的基本方法。
4.本课程与相关课程的关系、教材体系特点及具体要求
前置课程:
高等数学,数据结构,C程序设计
要求:
通过本课程的学习,学生应掌握形式语言理论与编译实现相关的基础概念,了解与掌握编译程序构造的基本原理与技术,从形式语言理论的角度,进一步认识与理解程序设计语言及其与编译程序的联系。
做习题是理解课程中基本概念、培养思考能力和解题能力的重要方面,要求学生认真做好习题,并注意解题规范化。
学生也应重视配合教学,做好上机实习。
5.教学时数及课时分配
章(专题)
主要内容
学时安排
第1部分
编译程序概述
2
第2部分
PL/0编译程序的实现
自学
第3部分
文法和语言
3
第4部分
词法分析
3
第5部分
自顶向下语法分析方法
1
第6部分
自底向上优先分析法
1
第7部分
LR分析法
2
第8部分
语法制导翻译和中间代码生成
2
第9部分
符号表
1
第10部分
目标程序运行时的存储组织
1
第11部分
代码优化
1
第12部分
代码生成
1
第13部分
编译程序实现的途径
自学
合计学时
课堂教学(总学时:
18)
18
二教材及主要参考书
(1)推荐教材:
《编译原理》吕映芝、张素琴、蒋维杜主编,清华大学出版社,1998年
(2)参考书:
[1]《编译原理》胡伦骏、徐兰芳、刘建农编,电子工业出版社2002年
[2]《编译原理》(第二版)蒋立源、康慕宁主编,西北工业大学出版,2002年
[3]《编译原理习题精选》陈意云、张昱著,中国科技大学出版社,2002年
[4]《编译原理与实现》金成植编,高等教育出版社。
[5]《编译原理习题与解析》伍春香著,清华大学出版社,2001年
三教学方法和教学手段说明
1)课堂教学:
多媒体教学进行教学,使学生能够很快掌握课程的主要知识和解决问题的方法。
2)辅导和答疑:
以习题课对课程中的重要概念和典型问题的解决方法进行总结和深入讨论,巩固和加深课堂内学到的知识。
采用电子邮件方式直接与教师联系进行答疑。
3)自学与练习:
除读懂教科书中所讲内容外,还需大量做题。
其目的是要通过做题弄懂、加深对概念的理解,提高解决问题的能力。
为此,安排一定的实验上机学时。
四成绩考核办法
考试类型:
考查(闭卷)成绩为:
平时成绩+期中成绩+期末成绩,其中平时成绩占20%,期中成绩占20%,期末成绩占60%。
五教学内容
(一)、课堂讲授内容
第一部分 编译程序概述(2学时)
一、教学目的
了解编译程序概念,编译程序的结构,以及每一阶段任务。
二、教学重点
编译程序的结构
三、教学难点
编译程序的结构,以及每一阶段任务
四、讲授要求
利用多媒体教学,了解编译程序概念,编译程序的结构,以及每一阶段任务。
五、讲授要点
1、什么是编译程序
2、编译过程概述
3、编译程序的结构
4、编译阶段的组合
5、编译技术和软件工具
六、实验及实践要求
仔细阅读课本,掌握基本概念,通过作业掌握各种题目的做法。
第三部分文法与语言(3学时)
一、教学目的
熟练掌握形式语言中基本概念及知识。
二、教学重点
与编译技术密切相关的一些术语和概念。
三、教学难点
句型的分析
四、讲授要求
利用多媒体教学,熟练掌握形式语言中基本概念及知识。
五、讲授要点
1、文法的直观概念
2、符号和符号串
3、文法与语言的形式定义
4、文法的分类
5、上下文无关文法及其语法树
6、句型的分析
7、有关文法实用中的一些说明
六、实验及实践要求
仔细阅读课本,掌握基本概念,通过典型例子掌握内容,通过作业掌握各种题目的做法。
第四部分词法分析(3学时)
一、教学目的
熟练掌握正规式与有穷自动机和正规文法与有穷自动机关系。
掌握词法分析程序的设计原理与构造方法。
二、教学重点
正规式与有穷自动机和正规文法与有穷自动机转换。
三、教学难点
不确定的有穷自动机转换为确定的有穷自动机及最小化。
四、讲授要求
利用多媒体教学,熟练掌握正规式与有穷自动机和正规文法与有穷自动机关系。
掌握词法分析程序的设计原理与构造方法。
五、讲授要点
1、词法分析程序的设计
2、单词的描述工具
3、有穷自动机
4、正规式和有穷自动机的等价性
5、正规文法和有穷自动机间的转换
6、词法分析程序的自动构造工具
六、实验及实践要求
仔细阅读课本,掌握基本概念,通过作业掌握各种题目的做法,,特别是NFA的确定化和DFA的最小化,以及FA、正规文法、正规式的转化。
第五部分自顶向下语法分析方法(1学时)
一、教学目的
熟练掌握确定的自顶向下分析方法、熟练掌握把某些非LL
(1)文法等价变换成LL
(1)文法。
二、教学重点
确定的自顶向下分析方法
三、教学难点
预测分析方法的分析表的构造、消除某些文法中的左递归
四、讲授要求
利用多媒体教学,熟练掌握确定的自顶向下分析方法、熟练掌握把某些非LL
(1)文法等价变换成LL
(1)文法。
五、讲授要点
1、确定的自顶向下分析思想
2、LL
(1)文法的判定
3、某些非LL
(1)文法到LL
(1)文法的等价变换
4、不确定的自顶向下分析思想
5、确定的自顶向下分析方法
六、实验及实践要求
仔细阅读课本,掌握基本概念,通过作业掌握各种题目的做法,特别是LL
(1)文法
第六部分自底向上优先分析法(1学时)
一、教学目的
掌握简单优先分析法和熟练掌握算符优先分析法。
二、教学重点
算符优先分析法的关系表的构造以及分析过程。
三、教学难点
算符优先分析法的关系表的构造以及优先函数。
四、讲授要求
利用多媒体教学,掌握简单优先分析法和熟练掌握算符优先分析法。
五、讲授要点
1、自底向上优先分析法概述
2、简单优先分析法
3、算符优先分析法
六、实验及实践要求
仔细阅读课本,掌握基本概念,通过典型例子掌握内容,通过作业掌握各种题目的做法。
第七部分LR分析法(2学时)
一、教学目的
熟练掌握LR(0)与LR
(1)的分析方法以及掌握SLR
(1)与LALR
(1)。
二、教学重点
LR(0)分析与LR
(1)分析方法
三、教学难点
构造LR分析法的分析表
四、讲授要求
利用多媒体教学,熟练掌握LR(0)与LR
(1)的分析方法以及掌握SLR
(1)与LALR
(1)
五、讲授要点
1、LR分析法的概述
2、LR(0)分析
3、SLR
(1)分析
4、LR
(1)分析
5、LALR
(1)分析
6、二义性文法在LR分析中的应用
六、实验及实践要求
仔细阅读课本,掌握基本概念,通过典型例子掌握内容,通过作业掌握各种题目的做法。
第八部分语法制导翻译和中间代码生成(2学时)
一、教学目的
了解属性文法、语法制导翻译法的基本思想;熟练掌握中间代码的四种形式以及各种语句翻译成四元式的语义过程。
二、教学重点
中间代码的形式、布尔表达式的翻译与控制结构的翻译。
三、教学难点
布尔表达式与控制结构的语义过程。
四、讲授要求
利用多媒体教学,了解属性文法、语法制导翻译法的基本思想。
熟练掌握中间代码的四种形式以及各种语句翻译成四元式的语义过程。
五、讲授要点
1、属性文法
2、语法制导翻译的概述
3、中间代码的形式
4、简单赋值语句的翻译
5、布尔表达式的翻译
6、控制结构的翻译
7、说明部分的翻译
8、数组与结构的翻译
六、实验及实践要求
仔细阅读课本,掌握基本概念,通过典型例子掌握内容,通过作业掌握各种题目的做法。
第九部分符号表(1学时)
一、教学目的
掌握符号表的作用、内容和组织方法。
二、教学重点
符号表的作用、内容和组织方法。
三、教学难点
符号表中分程序结构层次的管理
四、讲授要求
利用多媒体教学,掌握符号表的作用、内容和组织方法。
符号表是编译程序中的主要数据结构,在学习时要结合数据结构掌握查找方法的基本思想。
五、讲授要点
1、符号表的作用和地位
2、符号的主要属性及作用
3、符号表的组织
4、符号表的管理
六、实验及实践要求
仔细阅读课本,掌握基本概念,通过典型例子掌握内容,通过作业掌握各种题目的做法。
第十部分目标程序运行时的存储组织(1学时)
一、教学目的
了解静态存储分配以及动态存储分配的概念、熟练掌握栈式存储分配方法、掌握堆式存储分配、临时变量的存储分配方法。
二、教学重点
栈式存储分配的实现
三、教学难点
嵌套过程语言的栈式实现和分程序结构的存储管理
四、讲授要求
利用多媒体教学,了解静态存储分配以及动态存储分配的概念、熟练掌握栈式存储分配方法、掌握堆式存储分配、临时变量的存储分配方法。
五、讲授要点
1、数据空间的三种不同使用方法和管理方法
2、栈式存储分配的实现
3、参数传递
4、过程调用、过程进入和过程返回
六、实验及实践要求
仔细阅读课本,掌握基本概念,通过典型例子掌握内容,通过作业掌握各种题目的做法。
第十一部分代码优化(1学时)
一、教学目的
了解和掌握实施优化的过程,掌握提高代码质量的关键技术。
二、教学重点
重点介绍几种优化技术、局部优化以及循环优化。
三、教学难点
循环优化的过程
四、讲授要求
利用多媒体教学,了解和掌握实施优化的过程,掌握提高代码质量的关键技术。
五、讲授要点
1、优化技术的简介
2、局部优化
3、控制流分析和循环优化
4、数据流的分析与全局优化
六、实验及实践要求
仔细阅读课本,掌握基本概念,通过典型例子掌握内容,通过作业掌握各种题目的做法。
第十二部分代码生成(1学时)
一、教学目的
了解简单代码生成器,包括代码生成运算和寄存器的分配;了解代码生成器的自动生成技术。
二、教学重点
一个简单的代码生成器
三、教学难点
待用信息链表法及代码生成算法
四、讲授要求
利用多媒体教学,了解简单代码生成器,包括代码生成运算和寄存器的分配;了解代码生成器的自动生成技术。
五、讲授要点
1、代码的生成概述
2、一个计算机模型
3、一个简单的代码生成器
4、代码生成研究现状
六、实验及实践要求
仔细阅读课本,掌握基本概念,通过典型例子掌握内容,通过作业掌握各种题目的做法。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 教学大纲