前言
致谢
第1章 引言
1.1 编译技术历史
1.2 编译器的功能
1.2.1 编译器生成的机器代码
1.2.2 目标代码格式
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.5.6 优化器
1.5.7 代码生成器
1.5.8 编译器编写工具
1.6 程序设计语言和编译器设计
1.7 计算机体系结构和编译器设计
1.8 编译器设计考虑
1.8.1 调试编译器
1.8.2 优化编译器
1.8.3 可重定位编译器
1.9 集成开发环境
习题
第2章 一个简单的编译器
2.1 ac语言的一个非形式化定义
2.2 ac的形式化定义
2.2.1 语法规范
2.2.2 单词规范
2.3 一个简单编译器的各阶段
2.4 词法分析
2.5 语法分析
2.5.1 预测语法分析例程
2.5.2 实现产生式
2.6 抽象语法树
2.7 语义分析
2.7.1 符号表
2.7.2 类型检查
2.8 代码生成
习题
第3章 词法分析——理论与实践
3.1 词法分析器概述
3.2 正则表达式
3.3 示例
3.4 有限自动机与词法分析器
3.5 词法分析器生成器
3.5.1 在Lex中定义单词
3.5.2 字符集
3.5.3 使用正则表达式定义单词
3.5.4 使用Lex处理字符
3.6 其他词法分析器生成器
3.7 构建词法分析器的实际考虑
3.7.1 处理标识符和字面值
3.7.2 使用编译器指示以及列出源码行
3.7.3 结束词法分析器
3.7.4 多超前字符
3.7.5 性能考虑
3.7.6 词法错误恢复
3.8 正则表达式和有限自动机
3.8.1 将正则表达式转换为NFA
……
第4章 文法和语法分析
第5章 自顶向下语法分析
第6章 自底向上语法分析
第7章 语法制导翻译
第8章 符号表和声明处理
第9章 语义分析
第10章 中间表示
第11章 虚拟机代码生成
第12章 运行时支持
第13章 目标代码生成
第14章 程序优化
参考文献
展开