计算机系列教材编译原理与技术(第2版)学习指导与习题解析/李文生
计算机系列教材编译原理与技术(第2版)学习指导与习题解析/李文生作者:李文生 开 本:其他 书号ISBN:9787302495802 定价: 出版时间:2017-05-01 出版社:清华大学出版社 |
计算机系列教材编译原理与技术(第2版)学习指导与习题解析/李文生 本书特色
《编译原理与技术(第2版)学习指导与习题解析》是与《编译原理与技术(第2版)》一书配套的学习指导教材,对应《编译原理与技术(第2版)》的主要章节,给出相应的知识要点总结、习题解答思路分析及参考答案,结合每一章介绍的原理和技术,给出相应的算法设计或上机实验题目、解决方案。
计算机系列教材编译原理与技术(第2版)学习指导与习题解析/李文生 内容简介
《编译原理与技术(第2版)学习指导与习题解析》是与《编译原理与技术(第2版)》一书配套的学习指导教材,对应《编译原理与技术(第2版)》的主要章节,给出相应的知识要点总结、习题解答思路分析及参考答案,结合每一章介绍的原理和技术,给出相应的算法设计或上机实验题目、解决方案。
计算机系列教材编译原理与技术(第2版)学习指导与习题解析/李文生 目录
目录 第1章编译概述/1 1.1知识要点/1 1.2习题解析及参考答案/1第2章形式语言与自动机基础/5 2.1知识要点/5 2.2习题解析及参考答案/5第3章词法分析/36 3.1知识要点/36 3.2习题解析及参考答案/36第4章语法分析/56 4.1知识要点/56 4.2习题解析及参考答案/56第5章语法制导翻译技术/90 5.1知识要点/90 5.2习题解析及参考答案/90第6章语义分析/132 6.1知识要点/132 6.2习题解析及参考答案/132第7章运行环境/156 7.1知识要点/156 7.2习题解析及参考答案/156第8章中间代码生成/174 8.1知识要点/1748.2习题解析及参考答案/174第9章目标代码生成/194 9.1知识要点/194 9.2习题解析及参考答案/194第10章代码优化/212 10.1知识要点/212 10.2习题解析及参考答案/212第11章模拟试卷/226 11.1模拟试卷1及参考答案/226 11.1.1模拟试卷1/226 11.1.2模拟试卷1参考答案/229 11.2模拟试卷2及参考答案/236 11.2.1模拟试卷2/236 11.2.2模拟试卷2参考答案/238参考文献/2451.1翻译和解释/1 1.1.1程序设计语言/1 1.1.2翻译程序/2 1.2编译的阶段和任务/4 1.2.1分析阶段/4 1.2.2综合阶段/7 1.2.3符号表管理/10 1.2.4错误处理/10 1.3和编译有关的其他概念/11 1.3.1编译的前端和后端/11 1.3.2“遍”的概念/11 1.4编译程序的伙伴工具/13 1.4.1预处理器/14 1.4.2汇编程序/14 1.4.3连接装配程序/16 1.5编译原理的应用/16 习题1/18第2章形式语言与自动机基础/19 2.1语言和文法/19 2.1.1字母表和符号串/19 2.1.2语言/20 2.1.3文法及其形式定义/21 2.1.4推导和短语/23 2.1.5分析树及二义性/25 2.1.6文法变换/27 2.2有限自动机/31 2.2.1确定的有限自动机/32 2.2.2非确定的有限自动机/342.2.3具有ε?转移的非确定的有限自动机/36 2.2.4DFA的化简/40 2.3正规文法与有限自动机的等价性/42 2.4正规表达式与有限自动机的等价性/45 2.5正规表达式与正规文法的等价性/48 2.5.1正规定义式/48 2.5.2表示的缩写/49 2.5.3正规表达式转换为等价的正规文法/50 习题2/51第3章词法分析/53 3.1词法分析程序与语法分析程序的关系/53 3.2词法分析程序的输入与输出/54 3.2.1输入缓冲区/54 3.2.2词法分析程序的输出/56 3.3记号的描述和识别/57 3.3.1词法与正规文法/58 3.3.2记号的文法/58 3.3.3状态转换图与记号的识别/61 3.4词法分析程序的设计与实现/62 3.4.1文法及状态转换图/63 3.4.2词法分析程序的构造/65 3.4.3词法分析程序的实现/65 3.5LEX简介/71 3.5.1LEX源程序的结构/71 3.5.2LEX源程序举例/74 习题3/76 程序设计1/77第4章语法分析/78 4.1语法分析简介/78 4.1.1语法分析程序的地位/78 4.1.2常用的语法分析方法/78 4.1.3语法错误的处理/79 4.2自顶向下分析方法/80 4.2.1递归下降分析/81 4.2.2递归调用预测分析/82 4.2.3非递归预测分析/88 4.3自底向上分析方法/95 4.3.1规范归约/97 4.3.2“移进?归约”方法的实现/98 4.4LR分析方法/100 4.4.1LR分析程序的模型及工作过程/100 4.4.2SLR(1)分析表的构造/104 4.4.3LR(1)分析表的构造/112 4.4.4LALR(1)分析表的构造/119 4.4.5LR分析方法对二义文法的应用/124 4.4.6LR分析的错误处理与恢复/129 4.5软件工具YACC/131 4.5.1YACC源程序/132 4.5.2YACC对二义文法的处理/134 4.5.3用LEX建立YACC的词法分析程序/136 习题4/137 程序设计2/141第5章语法制导翻译技术/142 5.1语法制导定义及翻译方案/143 5.1.1语法制导定义/143 5.1.2依赖图/146 5.1.3计算次序/147 5.1.4S属性定义及L属性定义/148 5.1.5翻译方案/149 5.2S属性定义的自底向上翻译/151 5.2.1为表达式构造语法树的语法制导 定义/151 5.2.2S属性定义的自底向上翻译/155 5.3L属性定义的自顶向下翻译/158 5.3.1消除翻译方案中的左递归/158 5.3.2预测翻译程序的设计/162 5.4L属性定义的自底向上翻译/165 5.4.1移走翻译方案中嵌入的语义规则/166 5.4.2直接使用分析栈中的继承属性/166 5.4.3变换继承属性的计算规则/169 5.4.4改写语法制导定义为S属性定义/172 5.5通用的语法制导翻译方法/173 习题5/176第6章语义分析/180 6.1语义分析概述/180 6.1.1语义分析的任务/180 6.1.2语义分析程序的位置/181 6.1.3错误处理/181 6.2符号表/182 6.2.1符号表的建立和访问时机/182 6.2.2符号表内容/184 6.2.3符号表操作/187 6.2.4符号表组织/189 6.3类型检查/193 6.3.1类型表达式/194 6.3.2类型等价/197 6.4一个简单的类型检查程序/204 6.4.1语言说明/204 6.4.2符号表的建立/205 6.4.3表达式的类型检查/210 6.4.4语句的类型检查/213 6.4.5类型转换/214 6.5类型检查有关的其他主题/216 6.5.1函数和运算符的重载/216 6.5.2多态函数/217 习题6/220 程序设计3/223第7章运行环境/225 7.1程序运行时的存储组织/225 7.1.1程序运行空间的划分/226 7.1.2活动记录与控制栈/227 7.1.3名字的作用域及名字绑定/230 7.2存储分配策略/231 7.2.1静态存储分配/231 7.2.2栈式存储分配/233 7.2.3堆式存储分配/237 7.3非局部名字的访问/239 7.3.1程序块/239 7.3.2静态作用域规则下非局部名字的 访问/241 7.3.3动态作用域规则下非局部名字的 访问/248 7.4参数传递机制/250 7.4.1传值调用/250 7.4.2引用调用/252 7.4.3复制恢复/253 7.4.4传名调用/255 习题7/255第8章中间代码生成/259 8.1中间代码形式/259 8.1.1图形表示/259 8.1.2三地址代码/260 8.2赋值语句的翻译/265 8.2.1仅涉及简单变量的赋值语句的 翻译/265 8.2.2涉及数组元素的赋值语句/268 8.2.3记录结构中域的访问/273 8.3布尔表达式的翻译/274 8.3.1翻译布尔表达式的方法/274 8.3.2数值表示法/275 8.3.3控制流表示法及回填技术/276 8.4控制语句的翻译/282 8.5goto语句的翻译/287 8.6CASE语句的翻译/289 8.7过程调用语句的翻译/292 习题8/294第9章目标代码生成/297 9.1目标代码生成概述/297 9.1.1代码生成程序的位置/297 9.1.2代码生成程序设计的相关问题/298 9.2基本块和流图/300 9.3下次引用信息/302 9.4一个简单的代码生成程序/305 9.4.1目标机器描述/305 9.4.2代码生成算法/307 9.4.3其他常用语句的代码生成/312 习题9/315第10章代码优化/317 10.1代码优化概述/317 10.1.1代码优化程序的功能和位置/317 10.1.2代码优化的主要种类/317 10.2基本块优化/318 10.2.1常数合并及常数传播/318 10.2.2删除公共表达式/320 10.2.3复制传播/321 10.2.4削弱计算强度/321 10.2.5改变计算次序/321 10.3dag在基本块优化中的应用/322 10.3.1基本块的dag表示/322 10.3.2基本块的dag构造算法/323 10.3.3dag的应用/327 10.3.4dag构造算法的进一步讨论/330 10.4循环优化/333 10.4.1循环展开/333 10.4.2代码外提/334 10.4.3削弱计算强度/334 10.4.4删除归纳变量/335 10.5窥孔优化/337 10.5.1删除冗余的传送指令/337 10.5.2删除死代码/337 10.5.3控制流优化/338 10.5.4削弱计算强度及代数化简/338 习题10/339第11章面向对象的编译方法/341 11.1面向对象语言的基本概念/341 11.1.1类和对象/341 11.1.2继承/343 11.1.3信息封装/346 11.1.4多态性/347 11.2方法的编译/350 11.2.1静态方法/350 11.2.2动态方法/351 11.3继承的编译/354 11.3.1单一继承的编译/354 11.3.2多继承的编译/355 11.4程序运行环境/358 习题11/359第12章编译程序构造实践/360 12.1编译程序的表示及实现方法/360 12.1.1表示方法/360 12.1.2实现语言/360 12.1.3自展法/361 12.1.4移植法/362 12.2PL/0语言及其编译程序介绍/364 12.2.1PL/0语言/365 12.2.2PL/0编译程序的结构/368 12.2.3PL/0编译程序的词法分析/369 12.2.4PL/0编译程序的语法分析/371 12.2.5PL/0编译程序的出错处理/373 12.2.6PL/0编译程序的执行环境及 代码生成/375 12.2.7PL/0程序编译和运行示例/379 12.3GCC编译程序/381 12.3.1GCC简介/382 12.3.2GCC编译程序的结构与处理 流程/383 12.3.3GCC的分析程序/384 12.3.4GCC的中间语言及中间代码 生成/385 12.3.5GCC的代码优化/389 12.3.6GCC的代码生成/391 12.4编译实践/392 12.4.1Pascal?S语言说明/392 12.4.2课程设计要求及说明/398 12.4.3编译程序的测试/400附录PL/0编译程序源程序/402参考文献/416
教材 研究生/本科/专科教材 文法类
在线阅读
- 最新内容
- 相关内容
- 网友推荐
- 图文推荐
零零教育社区:论坛热帖子
[高考] 2022 西安电子科技大学《软件工程》大作业答案 (2022-04-25) |
[家长教育] 孩子为什么会和父母感情疏离? (2019-07-14) |
[教师分享] 给远方姐姐的一封信 (2018-11-07) |
[教师分享] 伸缩门 (2018-11-07) |
[教师分享] 回家乡 (2018-11-07) |
[教师分享] 是风味也是人间 (2018-11-07) |
[教师分享] 一句格言的启示 (2018-11-07) |
[教师分享] 无规矩不成方圆 (2018-11-07) |
[教师分享] 第十届全国教育名家论坛有感(二) (2018-11-07) |
[教师分享] 贪玩的小狗 (2018-11-07) |