编译原理(中英文)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
天津大学《编译原理》课程教学大纲
课程编号: 2160012 课程名称: 编译原理
学 时: 48 学分: 3
学时分配: 授课:48 上机: 实验: 实践: 实践(周):
授课学院: 计算机科学与技术学院
适用专业: 所有专业
先修课程: 汇编语言、编译原理导论、程序设计原理
一.课程的性质与目的
本课程为计算机科学与技术学院计算机科学系必修专业课。本课程从软件系统的观点出发研究编译技术的原理,全面分析编译器这一软件系统的基本概念、基本原理、基本结构和基本算法。本课程力求充实反映编译技术和自动机理论的研究成果,使学生全面掌握编译器构造原理并具备一些形式化语言的理论基础。
二.教学基本要求
1. 阐明编译技术的由来以及编译原理在计算机技术中的地位;
2. 按编译器的系统结构了解并掌握编译器实现的技术内涵;
3. 重点放在对编译技术的原理分析,掌握其设计与实现的算法;
4. 初步了解自动机理论的基本原理和相应算法;
5. 初步建立系统化、规范化的编译器设计思想。
三.教学内容
1. 编译原理概论
1) 什么是编译程序
2) 编译过程概述
3) 编译程序的结构
4) 编译程序的生成
5) 编译技术和软件工具
2. 高级语言和文法
1) 程序语言的定义
2) 高级语言的一般特征
a. 高级语言的分类
b. 程序结构
c. 数据类型与操作
d. 语句与控制结构
3) 程序语言的文法
a. 文法和语言的形式定义
b. 上下文无关文法
c. 句型的分析
d. 形式语言鸟瞰
3. 词法分析
1) 词法分析器的作用
a. 词法分析器的功能和输出形式
b. 词法分析器作为一个独立子程序
2) 词法分析器的设计
a. 输入缓冲
b. 记号的描述
c. 记号的识别
3) 词法分析器的自动生成
a. LEX说明和实现
b. 超前搜索
4) 正规表达式与有限自动机
a. DFA和NFA
b. 正规文法和有限自动机的等价性
c. 正规式与有限自动机的等价性
d. 确定有限自动机的化简
5) 设计词法分析器的生成器
a. 基于NFA的模式匹配
b. 词法分析器的DFA
c. 实现超前扫描操作
4. 自顶向下语法分析方法
1) 语法分析器的功能
2) 文法的编写
a. 正规式与上下文无关文法的比较
b. 消除二义性
c. 消除左递归
d. 提取左因子
3) 递归下降语法分析器
4) 预测语法分析器
a. 预测分析程序工作过程
b. FIRST 和FOLLOW集合
c. 预测分析表的构造
d. LL(1)文法
e. LL(1)分析中的错误处理
5. 自底向上语法分析法
1) 自底向上分析的基本问题
a. 句柄、活前缀和归约
b. 规范规约简述
c. 用符号栈实现移动规约分析
d. 移动归约分析过程中的冲突
2) 算符优先分析法
a. 算符优先文法
b. 算符优先分析算法
c. 优先函数
d. 算符优先分析中的错误恢复
3) LR语法分析器
a. LR语法分析算法
b. LR(0)项目集族和LR(0)分析表的构造
c. 构造SLR语法分析表
d. 构造规范LR语法分析表
e. LALR语法分析表的构造
f. LR语法分析表的压缩
g. 二义性文法的应用
h. LR语法分析中的错误恢复 6. 语法制导翻译
1) 语法制导定义
a. 语法制导定义的形式
b. 综合属性
c. 继承属性
d. 依赖图
e. 计算顺序
f. 抽象语法树
2) 自底向上计算S属性
3) L属性定义和自顶向下翻译
a. 翻译模式
b. 从翻译模式中消除左递归
c. 预测翻译器的设计
4) 自底向上计算继承属性
a. 删除嵌入在翻译模式中的动作
b. 分析栈中的继承属性
c. 模拟继承属性的计算
d. 用综合属性代替继承属性
5) 编译器构造时的空间分配 7. 运行时环境
1) 源语言问题
2) 存储组织
a. 运行时内存的划分
b. 活动记录
c. 编译时的局部数据布局
3) 存储分配策略
a. 静态存储分配
b. 栈式存储分配
4) 参数传递
a. 传值调用
b. 引用调用
c. 复制-恢复
d. 传名调用
四.学时分配
教学内容 授课 上机 实验 实践 实践(周)编译原理概论 2
高级语言和文法 4
词法分析 6
自顶向下语法分析方法 6
自底向上语法分析法 14
语法制导翻译 10
运行时环境 6
总计: 48
五.评价与考核方式
采用闭卷考试的方式,其中卷面成绩占总成绩的100%
六.教材与主要参考资料
教材:《程序设计语言编译原理(第3版)》,国防工业出版社,陈火旺等编著,出版时间:2006年
主要参考资料:
《编译原理》,清华大学出版社,吕映芝、张素琴、蒋维杜编著,出版时间2005年
《编译原理(Compilers Principles, Techniques, and Tools)》,机械工业出