图书前言

前言

编译技术是计算机专业必修的一门重要的专业基础课程,也是计算机系统软件中非常重要的一个分支,任何计算机语言的实现都离不开编译技术,而且,编译技术在语言处理、软件工程、软件自动化、计算机体系结构设计及优化等诸多领域有着广泛的应用。因而,作为计算机专业的学生,学习和掌握编译程序的基本构造原理和实现技术,对今后进一步的学习、研究和工作奠定了坚实的专业理论基础。

本书共分为9章,第1章介绍编译程序的有关概念,编译过程、编译程序的组织和结构等要点。第2章作为后续各章的理论基础,主要介绍描述语言的两大工具——文法和有限自动机。第3章以正规式作为单词识别工具,从手工和自动两个角度讨论词法分析器的设计及实现。第4章对上下文无关文法的自上而下和自下而上的

语法分析方法,以及

几种经典方法,如递归子程序法、LL(1)分析法、算法优先分析法和LR分析法进行详细讲解。第5章介绍语义分析,涉及语法制导翻译与中间代码生成,重点讲解属性文法、翻译模式、中间代码表现形式和流行的高级程序设计语言中典型语句的翻译。第6章介绍编译程序运行时环境的有关概念和存储组织与分配技术。第7章介绍整个编译过程都要涉及的数据结构——符号表。第8章介绍代码优化,讨论优化的基本概念、优化涉及的数据流分析技术和控制流分析技术。第9章简要介绍代码生成的有关知识点。附录给出基于前端的编译程序算法的程序文本。

本书编写工作的分工是: 张辰编写第1~3章,刘兵编写第4~6章,姜淑娟编写第7~9章。本书参考了国内外的一些专著、论文和资料,借鉴了一些专家学者的研究成果,对这些前辈和同行的引导和帮助表示衷心的感谢。

限于作者水平,本书难免存在疏误,请读者批评指正。

作者

2016年1月