《编译原理教程(第2版)》介绍了:编译程序的设计原理及实现技术。在内容的组织上,《普通高等院校计算机类专业规划教材:编译原理教程(第2版)》将编译的基本理论与具体的实现技术有机地结合起来,既注重了理论的完整性,化繁为简,又将理论融于具体的实例中,化难为易,以达到准确、清楚地阐述相关概念和原理的目的。除了各章节对理论阐述的条理性外,书中给出的例子也具有实用性与连贯性,使读者对编译的各个阶段有一个全面、直观的认识。《普通高等院校计算机类专业规划教材:编译原理教程(第2版)》采用的算法全部由C语言描述,各章均附有习题。
《普通高等院校计算机类专业规划教材:编译原理教程(第2版)》可作为计算机本科专业的教材,也可作为计算机软件工程人员的参考资料。
目录
- 第一章 绪论
- 1.1 编译程序概述
- 1.2 编译程序的工作过程与结构
- 1.3 编译程序的开发
- 1.4 构造编译程序所应掌握的内容
- 习题一
- 第二章 词法分析
- 2.1 词法分析器设计方法
- 2.1.1 单词符号的分类与输出形式
- 2.1.2 状态转换图
- 2.2 一个简单的词法分析器示例
- 2.2.1 C语言子集的单词符号表示
- 2.2.2 C语言子集对应的状态转换图
- 2.2.3 状态转换图的实现
- 2.3 正规表达式与有限自动机简介
- 2.3.1 正规表达式与正规集
- 2.3.2 有限自动机
- 2.4 正规表达式到有限自动机的构造
- 2.4.1 由正规表达式构造等价的NFAM
- 2.4.2 NFA M的确定化
- 2.4.3 DFA M的化简
- 2.4.4 正规表达式到有限自动机构造示例
- 2.5 词法分析器的自动生成
- 习题二
- 第三章 语法分析
- 3.1 文法和语言
- 3.1.1 文法和语言的概念
- 3.1.2 形式语言分类
- 3.1.3 正规表达式与上下文无关文法
- 3.2 推导与语法树
- 3.2.1 推导与短语
- 3.2.2 语法树与二义性
- 3.3 自上而下分析方法
- 3.3.1 递归下降分析法
- 3.3.2 LL(1)分析法
- 3.4 自下而上分析方法
- 3.4.1 自下而上分析原理
- 3.4.2 算符优先分析法
- 3.5 LR分析法
- 3.5.1 LR分析器的工作原理
- 3.5.2 LR(0)分析表的构造
- 3.5.3 SLR(1)分析表的构造
- 3.5.4 LR(1)分析表的构造
- 3.5.5 LALR分析表的构造
- 3.5.6 二义文法的应用
- 3.5.7 LR分析器应用拓展
- 习题三
- 第四章 语义分析和中间代码生成
- 4.1 概述
- 4.1.1 语义分析的概念
- 4.1.2 语法制导翻译方法
- 4.2 属性文法
- 4.2.1 文法的属性
- 4.2.2 属性文法
- 4.3 几种常见的中间语言
- 4.3.1 抽象语法树
- 4.3.2 逆波兰表示法
- 4.3.3 三地址代码
- 4.4 表达式及赋值语句的翻译
- 4.4.1 简单算术表达式和赋值语句的翻译
- 4.4.2 布尔表达式的翻译
- 4.5 控制语句的翻译
- 4.5.1 条件语句if的翻译
- 4.5.2 条件循环语句while的翻译
- 4.5.3 三种基本控制结构的翻译
- 4.5.4 多分支控制语句case的翻译
- 4.5.5 语句标号和转移语句的翻译
- 4.6 数组元素的翻译
- 4.6.1 数组元素的地址计算及中间代码形式
- ……
- 第五章 代码优化
- 第六章 运行时存储空间组织
- 第七章 目标代码生成
- 第八章 符号表与错误处理
- 附录1 8086/8088指令码汇总表
- 附录2 8086/8088指令编码空间表
- 参考文献