本书第2版系“九五”国家重点教材,旨在系统地介绍编译系统的结构、工作流程以及编译程序的设计原理和实现技术。全书共10章,内容包括语言及文法的基本知识、词法分析、语法分析、语义分析及中间代码生成、符号表组织、运行时的存储组织与分配、代码优化及目标代码生成等。在内容的组织上,本书将编译的基本理论和具体的实现技术有机地结合起来,既准确清楚地阐述相关的概念和原理,又给出典型的实现程序;同时,对目前颇为流行且使用效果良好的分析器自动生成工具(如LEX,LLama,YACC,OCCS等)的功能和使用方法也作了详细的介绍。本书力求反映编译技术方面的*成果。书中所列的分析算法、驱动程序及语义动作等,全部用C语言描述,各章之后附有大量的习题和上机实习题目。本书文字简洁易懂,内容循序渐进、深入浅出,便于自学。
目录
- 第一章 绪论
- 1.1 编译过程概述
- 1.2 编译程序的逻辑结构
- 1.3 编译程序的组织
- 习题
- 第二章 前后文无关文法和语言
- 2.1 文法及语言的表示
- 2.2 文法和语言的定义
- 2.3 句型的分析
- 2.4 文法的化简和改造
- 2.5 文法和语言的Chomsky分类
- 习题
- 第三章 词法分析及词法分析程序
- 3.1 设计折描器时应考虑的几个问题
- 3.2 正规文法和状转换图
- 3.3 有限自动机
- 3.4 正规表达式与正规集
- 3.5 词法分析程序的实现
- 习题
- 上机实习题
- 第四章 语法分析和语法分析程序
- 4.1 自顶向下的语法分析
- 4.2 自底向上的语法分析
- 习题
- 上机实习题
- 第五章 语法制导翻译及中间代码生成
- 5.1 引言
- 5.2 属性文法属性翻译文法
- 5.3 常见中间言简介
- 5.4 简单算术表达式和赋值语句的翻译
- 5.5 布尔表达式的释译
- 5.6 程序流程控制语句的翻译
- 5.7 含数组元素的算术表达式及赋值语句的翻译
- 5.8 过程说明和过程调用的翻译
- ……
- 第六章 符号表
- 第七章 运行时的存储组织与分配
- 第八章 代码优化
- 第九章 目标代码生成
- 第十章 查错与改错
- 参考文献