第1章 绪论
1.1 程序设计语言
1.2 编译程序
1.3 编译程序的工作过程
1.3.1 词法分析(lexical analyzer)
1.3.2 语法分析(syntax analyzer)
1.3.3 语义分析和中间代码生成(intermediate code generator)
1.3.4 代码优化(source code optimizer)
1.3.5 代码生成(target code generator)
1.4 编译程序的逻辑结构
1.5 编译程序的生成
1.5.1 编译程序的移植
1.5.2 编译程序的“自编译方式”
1.5.3 LEX和YACC
习题
第2章 文法和语言
2.1 语言的描述
2.1.1 字母表和符号串
2.1.2 符号串及其运算
2.2 文法的形式定义和文法的分类
2.2.1 文法的形式定义
2.2.2 直接推导和规范推导
2.2.3 句型、句子和句柄
2.2.4 语言的形式定义
2.2.5 Chomsky文法的分类
2.2.6 文法之间的关系
2.2.7 上下文无关文法
2.3 语法树与文法的二义性
2.3.1 语法树
2.3.2 文法的二义性
2.4 文法的限制和文法的变换
2.4.1 文法的限制
2.4.2 文法的等价变换
习题
第3章 词法分析与有穷自动机
3.1 词法分析的任务和方法
3.1.1 单词类型及二元式编码
3.1.2 词法分析的任务
3.1.3 词法分析程序的实现方法
3.2 正规式与正规集
3.3 有穷自动机
3.3.1 DFA的定义
3.3.2 DFA的表示
3.3.3 不确定的有穷自动机
3.4 正规文法、正规式、有穷自动机的等价转换
3.4.1 正规文法与正规式的相互转换
3.4.2 正规式与FA的相互转换
3.4.3 正规文法与FA的相互转换
3.4.4 NFA到DFA的转换
3.5 词法分析器的设计
3.5.1 词法分析器的数据流图
3.5.2 词法分析器的设计技术
习题
第4章 自顶向下分析
4.1 上下文无关文法与语法分析
4.1.1 上下文无关文法的定义
4.1.2 推导
4.2 带回溯的自顶向下分析
4.3 左递归的消除
……
第5章 自底向上分析
第6章 语法制导翻译与中间代码的生成
第7章 运行时的存储分配
第8章 代码优化和代码生成
附录A 实验任务
附录B 编译程序源代码
参考文献