第1章 预备知识
1.1 相关定义
1.1.1 字母表
1.1.2 符号串
1.2 高级语言的形式定义
1.3 分析树
1.3.1 分析树的定义
1.3.2 分析树与短语
1.3.3 分析树与推导
1.4 形式语言分类简介
习题一
第2章 编译程序概述
2.1 编译程序的组成
2.2 编译程序的构造途径
2.3 解释程序
习题二
第3章 词法分析与有限自动机
3.1 词法分析器的作用
3.2 词法分析器的构造方法
3.2.1 手工构造词法分析器
3.3 正则表达式和正则集合
3.3.1 正则表达式和正则集合的定义
3.3.2 用正则表达式描述单词
3.4 有限自动机
3.5 正则表达式与有限自动机的等价性
3.6 正则文法与有限自动机的等价性
3.7 确定的有限自动机的最小化
3.8 LEX简介
习题三
第4章 语法分析
4.1 上下文无关文法的等价变换
4.1.1 消除文法的二义性
4.1.2 删除文法中的无用符号及无用产生式
4.1.3 删除文法中的E一产生式
4.1.4 删除文法中的单一产生式
4.1.5 消除文法中的左递归
4.2 自顶向下的语法分析
4.2.1 LL(1)文法
4.2.2 预测分析法
4.3 自底向上分析
4.3.1 算符优先分析法
4.3.2 LR分析
4.4 语法错误处理简介
4.5 YACC简介
习题四
第5章 属性文法和语法制导翻译
5.1 属性文法的定义
5.2 属性求值
5.3 S属性文法
5.4 L属性文法
5.5 翻译模式
5.6 自顶向下翻译
5.6.1 消除翻译模式中的左递归
5.6.2 预测翻译程序的设计
5.7 自底向上翻译
5.7.1 消除嵌入在产生式中间的动作
5.7.2 如何确定继承属性在分析栈中的位置
5.7.3 自底向上翻译程序代码的设计
习题五
第6章 语义检查
6.1 语义检查的内容
6.2 符号表
6.2.1 符号表在语义检查中的作用
6.2.2 符号表的实现
6.2.3 符号表的分类及表项内容
6.2.4 子程序嵌套情况下符号表的组织
6.3 类型检查
6.3.1 类型等价和类型相容
6.3.2 类型表达式
6.3.3 几个与类型相关的翻译模式
6.3.4类型表达式的等价
6.4 类型转换
6.4.1 类型转换的起因
6.4.2 类型转换的时机
习题六
第7章 运行时的存储分配
第8章 中间代码生成
第9章 代码优化
第10章 目标代码生成
参考文献