第1章 概论1
1.1 基本内容要求1
1.2 教师授课参考2
1.3 误点疑点解惑2
1.4 相关知识介绍5
1.5 教材习题解答11
第2章 数据的机器层次表示13
2.1 基本内容要求13
2.2 教师授课参考14
2.3 误点疑点解惑15
2.4 相关知识介绍28
2.5 教材习题解答41
第3章 指令系统51
3.1 基本内容要求51
3.2 教师授课参考52
3.3 误点疑点解惑53
3.4 相关知识介绍68
3.5 教材习题解答80
第4章 数值的机器运算89
4.1 基本内容要求89
4.2 教师授课参考90
4.3 误点疑点解惑91
4.4 相关知识介绍98
4.5 教材习题解答116
第5章 存储系统和结构130
5.1 基本内容要求130
5.2 教师授课参考131
5.3 误点疑点解惑132
5.4 相关知识介绍145
5.5 教材习题解答158
第6章 中央处理器171
6.1 基本内容要求171
6.2 教师授课参考172
6.3 误点疑点解惑173
6.4 相关知识介绍189
6.5 教材习题解答205
第7章 外部设备218
7.1 基本内容要求218
7.2 教师授课参考219
7.3 误点疑点解惑220
7.4 相关知识介绍233
7.5 教材习题解答244
第8章 输入输出系统252
8.1 基本内容要求252
8.2 教师授课参考253
8.3 误点疑点解惑254
8.4 相关知识介绍266
8.5 教材习题解答280
主要参考文献292
目 录计算机组成原理教师用书(第2版)第1章 编译程序理论概述1
1.1 导言1
1.2 语言及其翻译1
1.3 语法的功能3
1.4 程序设计语言的发展4
1.5 编译程序的结构6
1.5.1 词法分析7
1.5.2 字符串表9
1.5.3 语法分析9
1.5.4 语义分析10
1.5.5 符号表10
1.5.6 代码优化程序10
1.5.7 代码生成程序11
1.6 特殊约定12
缩写词与关键字12
习题12
第2章 语法及其分类14
2.1 概述14
2.2 文法14
2.2.1 字母表与字符串14
2.2.2 非终结符与产生式15
2.2.3 文法的例子15
2.3 文法及语言的Chomskey分类17
2.4 规范推导18
2.5 文法的二义性19
习题20
编译原理计算机组成原理教师用书(第2版)第3章 扫描器与正规语言22
3.1 词法分析程序简介22
3.2 正规表达式22
3.2.1 正规表达式代数23
3.2.2 正规表达式的性质24
3. 3 有限状态自动机27
3. 4 非确定的有限状态自动机29
3. 5 将正规文法转换为自动机30
3. 6 NDFA的确定化及化简33
3. 7 从有限状态自动机转换到正规文法40
3. 8 有限自动机在计算机中的实现40
3. 9 扫描器实现中的特殊问题42
3. 9. 1 输入符号表42
3. 9. 2 扫描器自动机中的终止状态42
3. 9. 3 删除空白符号与注释43
3. 9. 4 输出单词43
3. 10 字符串表的实现46
3.11 保留字47
3.12 使用扫描器自动生成工具48
缩写词与关键字48
习题48
第4章 语法分析与前后文无关文法51
4. 1 导论51
4. 2 下推自动机51
4. 2. 1 停机条件的等价性53
4. 2. 2 从前后文无关文法CFG构造PDA54
4. 3 LL(k)规范文法55
4. 3. 1 FIRST集与FOLLOW集56
4. 3. 2 选择集合58
4. 4 文法的左递归性59
4. 5 公共左因子60
4. 6 用正规表达式运算符拓广CFG61
4. 7 递归下降分析程序62
4. 8 作为下推自动机的递归下降分析程序64
4.9 自底向上的语法分析器的构造66
4. 9. 1 自底向上的语法分析66
4. 9. 2 LR (k)分析法69
4. 10 错误的发现84
4.11 使用语法分析器生成工具85
关键字86
习题86
第5章 语义分析与属性文法88
5.1 引言88
5.2 属性文法AG88
5.2.1 继承属性和综合属性90
5.2.2 属性值流93
5.3 非终结符号作为属性计值函数94
5.4 符号表作为属性95
5.5 一个微Pascal语言的属性文法AG96
5.6 域和标识符种类98
5.6.1 标识符作用域文法99
5.6.2 标识符作用域例子的分析100
5.6.3 符号表的其他事项104
5.7 在递归下降分析中实现属性105
5.8 LR分析器的属性赋值106
5.9 实现一个符号表107
符号109
关键字109
习题109
第6章 语法制导的代码生成111
6.1 引言111
6.2 常见的中间语言简介111
6.2.1 逆波兰表示112
6.2.2 四元式113
6.2.3 其他表示法114
6.3 赋值语句的翻译114
6.4 布尔表达式的翻译116
6.5 程序流程控制语句的翻译122
6.5.1 常见控制结构的翻译122
6.5.2 语句标号及GOTO语句的翻译126
6.5.3 多分支语句的翻译130
6.6 含数组元素的算术表达式及赋值语句的翻译132
6.6.1 下标变量地址的计算133
6.6.2 含有下标变量的赋值语句的翻译136
6.7 过程说明和过程调用的翻译139
6.7.1 过程说明的翻译139
6.7.2 实参和形参间的信息传递140
6.7.3 过程语句的翻译141
6.7.4 关于形实结合的进一步讨论142
6.8 说明语句的翻译144
6.8.1 类型说明(变量及数组定义)语句的翻译144
6.8.2 数据类型定义语句的翻译147
习题150
第7章 符号表152
7.1 引言152
7.2 符号表的组织152
7.3 符号表结构153
7.3.1 线性符号表153
7.3.2 有序符号表154
7.3.3 散列表155
7.4 符号表的管理157
7.4.1 符号表的初始化157
7.4.2 符号表的查填157
7.4.3 符号表的删除158
关键字158
习题158
第8章 运行时存储空间的组织与管理161
8.1 引言161
8.2 语言相关概述161
8.2.1 过程161
8.2.2 名字的作用域和绑定162
8.3 存储分配的策略163
8.3.1 静态存储分配策略164
8.3.2 栈式存储分配策略166
8.3.3 堆式存储分配策略170
8.4 FORTRAN语言的存储分配173
关键字174
习题174
第9章 代码优化180
9.1 概述180
9.2 局部优化181
9.2.1 基本块的划分181
9.2.2 基本块的优化182
9.2.3 基本块的DAG图表示183
9.3 循环优化189
9.3.1 程序流图的概念190
9.3.2 循环优化方法190
第10章 目标代码生成194
10.1 概述194
10.2 一个简单的计算机模型196
10.3 一个简单的代码生成器197
10.3.1 变量的待用信息及其算法198
10.3.2 代码生成算法200
10.4 寄存器分配204
10.5 窥孔优化205
参考文献208