作为编译器设计的教程,本书重点主要放在解决在设计语言翻译器过程中所普遍面对的一些问题上而并不考虑源语言或者目标机器。本书共12章:第一章介绍了编译器的基本结构;第二章给出了一个将前缀表达式转换成后缀表达式的编译器,主要使用本书的一些基本技巧来构建;第三章阐述了词法分析、正则表达式、有限自动机和扫描生成器工具,这章中的技术广泛应用于文本处理;第四章详细阐述了主要的分析技术,从适合手工实现的递归下降算法到在分析生成器中使用的LR算法;第五章介绍了语法制导翻译中的主要思想,本书的其它部分都用本章来说明和实现翻译;第六章提出了完成静态语义检查的主要思想,并对类型检查和类型的统一进行了详细的讨论;第七章讨论了支持应用程序运行时环境的存储组织;第八章从中间语言的讨论开始,说明了编程语言结构翻译成中间代码;第九章阐述了目标代码的生成,包含基本的on_the_fly代码生成方法、为表达式生成代码的优化方法、Peephole优化和代码生成器;第十章是代码优化的总述。除了关于数据流分析方法的详细说明,还有关于如何进行全局优化的基本方法;第十一章讨论了在编译器实现过程中可能会产生的一些实际问题;第十二章提出一些使用本书中的技术构建的一些编译器的学习用例。本书可作为高校计算机专业本科和研究生编译原理的教科书,也可供从事计算机软件开发的人员参考。