内容简介:
本书提供了创新的编译器构造方法,通过大量韵示例和练习,描述如何从头至尾设计一个哥用的编译器。书中均衡覆盖了编译器设计中的理论与实现两大部分,详细讨论了标准编译器设计的相关主题,如自顶向下和自底向上的语法分析、语义分析、中间表示和代码生成。本书均衡讲述了编译器设计中的理论与实现两大部分,详细讨论了标准编译器设计的相关主题(如自顶向下和自底向上的语法分析、语义分析、中间表示和代码生成),提供了创新的编译器构造方法,使读者可以从头至尾地学习如何设计一个可用的编译器。 本书是一本优秀的编译器构造方面的教材,适合于高等院校计算机专业的学生和使用C语言的专业程序员。
目录:
第一章 绪论
1.1 概述的历史
1.2 编译器可以做什么
1.3 编译器结构
1.4 程序设计语言的语法和语义
1.5 编译器设计与程序设计语言设计
1.6 编译器分类
1.7 影响编译器设计的因素
练习
第二章 一个简单编译器
2.1 Micro编译器结构
2.2 Micro词法分析器
2.3 Micro语法
2.4 递归下降语法分析
2.5 翻译 Micro
2.5.1 目标语言
2.5.2 临时变量
2.5.3 动作符号
2.5.4 语义信息
2.5.5 Micro动作符号
练习
第三章 词法分析——理论和实践
3.1 概述
3.2 正则表达式
3.3 有限自动机和词法分析器
3.4 使用词法分析器生成器
3.4.1 ScanGen
3.4.2 Lex
3.5 实现时考虑的问题
3.5.1 保留字
3.5.2 编译器指示与源程序行列表
3.5.3 符号表中的标识符条目
3.5.4 词法分析器的终止
3.5.5 多字符的超前搜索
3.5.6 词法错误恢复
3.6 将正则表达式转换为有限自动机
3.6.1 构造确定的有限自动机
3.6.2 优化有限自动机
练习
第四章 文法和语法分析
4.1 上下文无关文法:概念与记号
4.2 上下文无关文法中的错误
4.3 转换扩展BNF文法
4.4 语法分析器与识别器
4.5 文法分析算法
练习
第五章 LL(1)文法及分析器
第六章 LR分析
第七章 语义处理
第八章 符号表
第九章 运行时存储组织
第十章 处理声明
第十一章 处理表达式和数据结构引用
第十二章 翻译控制结构
第十三章 翻译过程和函数
第十四章 属性文法和多遍翻译
第十五章 代码生成和局部代码优化
第十六章 全局优化
第十七章 现实世界中的语法分析
附录
参考文献
索引