| ISBN | 出版时间 | 包装 | 开本 | 页数 | 字数 |
|---|---|---|---|---|---|
| 未知 | 暂无 | 暂无 | 未知 | 0 | 暂无 |
第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.4.1 确定性的有限自动机
3.5 扫描器生成工具Lex
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
3.8.2 创建DFA
3.8.3 有限状态机的化简
3.8.4 把有限自动机转换为正则表达式
3.9 本章小结
练习
第4章 文法和分析
4.1 上下文无关文法
4.1.1 最左推导