第1章 概论
1.1 为什么学习编译
1.2 什么叫编译程序
1.3 编译过程概述
1.3.1 词法分析
1.3.2 语法分析
1.3.3 语义分析和中间代码生成
1.3.4 代码优化
1.3.5 目标代码生成
1.4 编译程序的构成
1.4.1 基本功能模块
1.4.2 符号表的组织与管理
1.4.3 错误诊断和报告
1.5 其他与编译有关的概念和技术
1.5.1 遍的概念
1.5.2 编译的前端和后端
1.5.3 编译程序的分类
1.5.4 编译技术和软件工具
1.6 如何开发编译程序
1.6.1 编译程序的自展技术
1.6.2 编译程序的移植技术
1.6.3 编译程序的自动生成技术
1.7 编译系统以及其他相关程序
练习1
第2章 词法分析
2.1 词法分析器的设计
2.1.1 词法分析器的功能与输出
2.1.2 词法扫描器与符号表
2.1.3 词法分析器的两种实现模式
2.1.4 词法错误的处理
2.2 词法分析器的一种手工实现
2.2.1 输入的预处理
2.2.2 超前搜索和最长匹配
2.2.3 状态转换图
2.2.4 基于状态转换图的词法分析器的实现
2.3 正规表达式
2.3.1 符号、符号串与符号集合
2.3.2 正规式与正规集
2.3.3 扩展的正规式
2.4 有限自动机
2.4.1 确定的有限自动机
2.4.2 不确定的有限自动机NFA
2.4.3 从NFA到DFA的等价变换
2.4.4 DFA的最小化
2.4.5 从正规式到有限自动机
2.4.6 有限自动机在计算机中的表示
2.5 词法分析的自动生成器Lex
2.5.1 Lex概述
2.5.2 Lex的语言与实现
练习2
第3章 程序语言的语法描述
3.1 文法和语言
3.1.1 文法的形式定义
3.1.2 推导与归约
3.1.3 分析树与语法树
3.1.4 文法产生的语言
3.1.5 语言的验证
3.1.6 语言的文法表达
3.1.7 文法的二义性
3.1.8 BNF与EBNF
……
第4章 自顶向下的语法分析
第5章 自底向上的语法分析
第6章 符号表的组织和管理
第7章 运行时环境
第8章 属性文法和语义分析
第9章 语法制导的中间代码翻译
第10章 目标代码生成
第11章 代码优化
参考文献