《计算机编译原理第三版》是2008年6月科学出版社出版的图书,作者是张幸儿。
本书是普通高等教育“十一五”***规划教材。计算机编译原理是计算机专业的重要专业基础课之一。本书系统地介绍高级程序设计语言编译程序的构造原理,重点讨论词法分析、语法分析、语义分析以及目标代码的生成与代码优化。各章末有本章概要、习题与上机实习题。书末附有解题规范例解与总复习思考题。本书特别讨论了编译各阶段的实现考虑,读者可从这些实际可行的实现方法和技巧中得到借鉴和启发。为了便于教学,本书另配有电子教案和习题解答可供选用,还提供配套教材《计算机编译原理——编译程序构造实践》,可供上机实践参考。
目录
- 前言
- 第1章 总论
- 1.1 引言
- 1.2 程序设计语言与程序
- 1.2.1 程序及其结构
- 1.2.2 程序设计语言的定义
- 1.2.3 程序的执行
- 1.3 编译程序构造及有关概念
- 1.3.1 编译程序的构造
- 1.3.2 遍的概念
- 1.3.3 编译程序的分类
- 1.3.4 实际应用中的编译程序
- 1.4 形式语言理论与编译实现技术
- 本章概要
- 第2章 文法与语言
- 2.1 符号串与符号串集合
- 2.1.1 字母表
- 2.1.2 符号串
- 2.1.3 符号串集合
- 2.2 文法与语言的形式定义
- 2.2.1 文法的形式定义
- 2.2.2 语言的形式定义
- 2.3 语言的分类
- 2.3.1 Chomsky文法类和语言类
- 2.3.2 形式语言与自动机
- 2.3.3 形式语言的分类与程序设计语言
- 2.3.4 对上下文无关文法的进一步讨论
- 2.4 文法等价与等价变换
- 2.4.1 文法等价的概念
- 2.4.2 压缩文法等价变换
- 2.4.3 消去左递归的文法等价变换
- 2.5 语法分析树与句型分析
- 2.5.1 语法分析树的概念
- 2.5.2 句型分析
- 本章概要
- 习题1
- 习题2
- 习题3
- 习题4
- 习题5
- 第2章上机实习题
- 第3章 词法分析
- 3.1 引言
- 3.1.1 词法分析与词法分析程序
- 3.1.2 符号的识别与重写规则的关系
- 3.1.3 实现方式
- 3.2 正则表达式与有穷状态自动机
- 3.2.1 状态转换图
- 3.2.2 确定有穷状态自动机DFA
- 3.2.3 非确定有穷状态自动机NFA
- 3.2.4 确定有穷状态自动机的化简
- 3.2.5 正则表达式
- 3.3 词法分析程序的实现
- 3.3.1 符号与属性字
- 3.3.2 标识符的处理
- 3.3.3 词法分析程序的编写
- 3.4 词法分析程序的自动生成
- 3.4.1 基本思想
- 3.4.2 扫描程序定义与构造程序
- 3.4.3 自动生成系统LEX简介
- 本章概要
- 习题6
- 第3章上机实习题
- 第4章 语法分析——自顶向下分析技术
- 4.1 引言
- 4.1.1 自顶向下分析技术及识别算法
- 4.1.2 讨论的前提
- 4.1.3 要解决的基本问题
- 4.2 带回溯的自顶向下分析技术
- 4.2.1 基本思想
- 4.2.2 语法分析树的建立及其表列表示
- 4.2.3 问题及其解决
- 4.3 无回溯的自顶向下分析技术
- 4.3.1 先决条件
- 4.3.2 递归下降分析技术
- 4.3.3 预测分析技术
- 本章概要
- 习题7
- 第4章上机实习题
- 第5章 语法分析——自底向上分析技术
- 5.1 引言
- 5.1.1 自底向上分析技术及识别算法
- 5.1.2 讨论前提
- 5.1.3 基本实现方法:移入-归约法
- 5.2 算符优先分析技术
- 5.2.1 算符优先分析技术的引进
- 5.2.2 算符文法
- 5.2.3 算符优先关系与算符优先文法
- 5.2.4 算符优先文法句型的识别
- 5.2.5 优先函数
- 5.2.6 实际应用中的算符优先分析技术
- 5.3 LR(k)分析技术
- 5.3.1 LR(k)文法与LR(k)分析技术
- 5.3.2 SLR(k)分析表构造方法
- 5.3.3 LALR(k)分析表构造方法
- 5.3.4 识别程序自动构造
- 5.3.5 识别程序自动生成系统YACC简介
- 5.4 LR(1)识别程序句型分析的实现
- 本章概要
- 习题8
- 习题9
- 习题10
- 第5章上机实习题
- 第6章 语义分析与目标代码生成
- 6.1 概况
- 6.1.1 语义分析的概念
- 6.1.2 属性文法
- 6.1.2 类型体制与语义分析
- 6.2 说明部分的翻译
- 6.2.1 常量定义的翻译
- G.2.2 变量说明的翻译
- 6.2.3 函数定义的翻译
- 6.2.4 结构体类型的翻译
- 6.3 目标代码的生成
- 6.3.1 概况
- 6.3.2 虚拟机
- 6.3.3 控制语句的翻译
- 6.4 语义分析的实现考虑
- 6.4.1 注释分析树的构造
- 6.4.2 语义动作的实现
- 6.4.3 语义子程序的例子
- 6.5 源程序的中间表示代码
- 6.5.1 抽象语法树
- 6.5.2 逆波兰表示
- 6.5.3 四元式序列
- 6.5.4 三元式序列
- 本章概要
- 习题11
- 习题12
- 习题13
- 习题14
- 第6章上机实习题
- ……
- 第7章 运行环境
- 第8章 代码优化
- 第9章 程序错误的检查和校正
- 解题规范例解
- 总复习思考题