出版者的话
改编者序
前言
第1章 引论
1.1 语言处理器
1.2 一个编译器的结构
1.2.1 词法分析
1.2.2 语法分析
1.2.3 语义分析
1.2.4 中间代码生成
1.2.5 代码优化
1.2.6 代码生成
1.2.7 符号表管理
1.2.8 将多个步骤组合成趟
1.2.9 编译器构造工具
1.3 程序设计语言的发展历程
1.3.1 走向高级程序设计语言
1.3.2 对编译器的影响
1.3.3 1.3节的练习
1.4 构建一个编译器的相关科学
1.4.1 编译器设计和实现中的建模
1.4.2 代码优化的科学
1.5 编译技术的应用
1.5.1 高级程序设计语言的实现
1.5.2 针对计算机体系结构的优化
1.5.3 新计算机体系结构的设计
1.5.4 程序翻译
1.5.5 软件生产率工具
1.6 程序设计语言基础
1.6.1 静态和动态的区别
1.6.2 环境与状态
1.6.3 静态作用域和块结构
1.6.4 显式访问控制
1.6.5 动态作用域
1.6.6 参数传递机制
1.6.7 别名
1.6.8 1.6节的练习
1.7 第1章总结
1.8 第1章参考文献
第2章 一个简单的语法制导翻译器
2.1 引言
2.2 语法定义
2.2.1 文法定义
2.2.2 推导
2.2.3 语法分析树
2.2.4 二义性
2.2.5 运算符的结合性
2.2.6 运算符的优先级
2.2.7 2.2节的练习
2.3 语法制导翻译
2.3.1 后缀表示
2.3.2 综合属性
2.3.3 简单语法制导定义
2.3.4 树的遍历
2.3.5 翻译方案
2.3.6 2.3节的练习
2.4 语法分析
2.4.1 自顶向下分析方法
2.4.2 预测分析法
2.4.3 何时使用产生式
2.4.4 设计一个预测分析器
2.4.5 左递归
2.4.6 2.4节的练习
2.5 简单表达式的翻译器
2.5.1 抽象语法和具体语法
2.5.2 调整翻译方案
2.5.3 非终结符号的过程
2.5.4 翻译器的简化
2.5.5 完整的程序
2.6 词法分析
2.6.1 剔除空白和注释
2.6.2 预读
2.6.3 常量
2.6.4 识别关键字和标识符
2.6.5 词法分析器
2.6.6 2.6节的练习
2.7 符号表
2.7.1 为每个作用域设置一个符号表
2.7.2 符号表的使用
2.8 生成中间代码
2.8.1 两种中间表示形式
2.8.2 语法树的构造
2.8.3 静态检查
2.8.4 三地址码
2.8.5 2.8节的练习
2.9 第2章总结
第3章
第4章 语法分析
第5章 语法制导的翻译
第6章 中间代码生成
第7章 运行时刻环境
第8章 代码生成
第9章 机器无关优化
附录 一个完整的编译器前端
内容摘要
《编译原理》是编译原理课程方面的经典教材,全面、深入地探讨了编译器设计方面的重要主题,包括词法分析、语法分析、语法制导定义和语法制导翻译、运行时刻环境、目标代码生成、代码优化技术、并行性检测以及过程间分析技术,并在相关章节中给出大量的实例。与上一版相比,本书进行了全面修订,涵盖了编译器开发方面最新进展。每章中都提供了大量的实例及参考文献。
本书基于该书第2版进行改编,内容更加精练和实用,体系更加符合国内教学情况,适合作为高等院校计算机及相关专业本科生的编译原理课程的教材,也是广大研究人员和技术人员的极佳参考读物。
本书是编译领域无可替代的经典著作,被广大计算机专业人士誉为“龙书”。本书上一版自1986年出版以来,被世界各地的著名高等院校和研究机构(包括美国哥伦比亚大学。斯坦福大学、哈佛大学、普林斯顿大学。贝尔实验室)作为本科生和研究生的编译原理课程的教材。该书对我国高等计算机教育领域也产生了重大影响。
第2版对每一章都进行了全面的修订,以反映自上一版出版20多年来软件工程、程序设计语言和计算机体系结构方面的发展对编译技术的影响。第2版全面介绍了编译器的设计,并强调编译技术在软件设计和开发中的广泛应用。每章中都包含大量的习题和丰富的参考文献。
本书基于该书第2版进行改编,保留其中的基本内容,压缩或删除了一些高级内容,更适合作为国内高校计算机及相关专业本科生编译原理课程教材。
精彩内容
第1章 引论
程序设计语言是向人以及计算机描述计算过程的记号。如我们所知,这个世界依赖于程序设计语言,因为在所有计算机上运行的所有软件都是用某种程序设计语言编写的。但是,在一个程序可以运行之前,它首先需要被翻译成一种能够被计算机执行的形式。
完成这项翻译工作的软件系统称为编译器(compiler)。
本书介绍的是设计和实现编译器的方法。我们将介绍用于构建面向多种语言和机器的翻译器的一些基本思想。编译器设计的原理和技术还可以用于编译器设计之外的众多领域。因此,这些原理和技术通常会在一个计算机科学家的职业生涯中多次被用到。研究编译器的编写将涉及程序设计语言、计算机体系结构、形式语言理论、算法和软件工程。
在本章中,我们将介绍语言翻译器的不同形式,在高层次上概述一个典型编译器的结构,并讨论了程序设计语言和硬件体系结构的发展趋势。这些趋势将影响编译器的形式。我们还将介绍关于编译器设计和计算机科学理论的关系的一些事实,并给出编译技术在编译领域之外的一些应用。最后,我们将简单论述在我们研究编译器时需要用到的重要的程序设计语言概念。
……
— 没有更多了 —
以下为对购买帮助不大的评价