本书系统全面地介绍编译程序的构造原理和实现技术,主要内容包括:形式语言的基本知识、词法分析、语法分析、语义分析与中国代码生成、符号表管理和错误处理、运行时的存储组织与分配、代码优化和目标代码生成等。在介绍编译原理和方法的同时,提供了一个小型编译程序--PL/0编译程序的具体实现过程,并对常用分析器的自动生成工具(LEX和YACC)的功能和使用方法做了详细的介绍,在附录中分别给出了PL/0编译程序的C语言版本和LEX与YACC版本,从而使理论与实践紧密结合。
本书系统性强,内容循序渐进,实例丰富。对算法的描述深入浅出,文字简练,通俗易懂。每章都配有各种类型的习题,便于教学也便于自学。
本书可作为高等院校计算机科学及相关专业的本科生教材,也可作为教师和计算机软件工程技术人员的参考书。
目录
- 第1章编译概述
- 1.1程序的翻译
- 1.2编译程序的组成
- 1.3编译程序的构造
- 1.4编译技术的应用及发展
- 1.5小结
- 习题
- 第2章形式语言的基本知识
- 2.1字母表示和符号的基本概念
- 2.2文法和语言的形式定义
- 2.3句型的分析
- 2.4文法和语言的分类
- 2.5PL/0编译程序概述
- 2.6小结
- 第3章词法分析第1章编译概述
- 1.1程序的翻译
- 1.2编译程序的组成
- 1.3编译程序的构造
- 1.4编译技术的应用及发展
- 1.5小结
- 习题
- 第2章形式语言的基本知识
- 2.1字母表示和符号的基本概念
- 2.2文法和语言的形式定义
- 2.3句型的分析
- 2.4文法和语言的分类
- 2.5PL/0编译程序概述
- 2.6小结
- 第3章词法分析
- 3.1词法分析的任务
- 3.2词法分析程序的输出形式
- 3.3词法分析程序的设计与实现
- 3.4正规式与有穷自动机
- 3.5词法分析程序的自动生成工具LEX
- 3.6PL/0编译程序的词法分析
- 3.7小结
- 习题
- 第4章语法分析
- 4.1语法分析的任务
- 4.2自顶向下分析法
- 4.3自底向上分析法
- 4.4算符优先分析法
- 4.5LR分析法
- 4.6语法分析程序的自动生成工具YACC
- 4.7PL/0编译程序的语法分析
- 4.8小结
- 习题
- 第5章语义分析与中国代码生成
- 第6章符号表管理和错误处理
- 第7章运行时的存储组织与分配
- 第8章代码优化
- 第9章目标代码生成
- 附录A使用C语言实现的PL/0程序
- 附录B使用LEX和YACC语言实现的L/0程序
- 参考文献