编译原理:编译程序构造实践教程(21世纪高等学校计算机规划教材)
分类: 图书,教材教辅与参考书,大学,计算机专业,
品牌: 张幸儿
基本信息·出版社:人民邮电出版社
·页码:282 页
·出版日期:2010年04月
·ISBN:9787115215123
·条形码:9787115215123
·版本:第1版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:21世纪高等学校计算机规划教材
产品信息有问题吗?请帮我们更新产品信息。
内容简介本书系统而简洁地介绍编译程序的构造原理,内容主要包括:概论、编译程序构造的基础知识、词法分析、语法分析、语义分析与目标代码生成、中间表示代码与代码优化、程序错误的检查与校正、目标代码的运行,以及虚拟机目标程序的解释程序的编制。各章开始于本章导读,各章末有本章小结、复习思考题以及习题。本书突出实践性,在编译程序构造的各个环节中,提供了具体可行的实现方法和技巧,供读者参考。 本书可作为计算机及相关专业的编译原理课程教材,也可作为计算机软件技术人员、研究生及广大计算机爱好者的参考用书。
目录
目录 第1章概论1 1.1编译程序概况1 1.1.1编译程序的引进1 1.1.2编译程序与高级程序设计语言的联系3 1.1.3编译原理课程的教学内容、教学目标和要求6 1.2编译程序的构造6 1.2.1编译程序的功能6 1.2.2编译程序的组成7 1.2.3编译程序的种类8 1.3编译程序的实现9 1.3.1编译程序实现要点9 1.3.2样本语言的轮廓10 1.3.3开发环境11 本章小结11 复习思考题12 第2章编译程序构造的基础知识13 2.1符号串与符号串集合13 2.2文法与语言16 2.2.1文法及其应用16 2.2.2语言的概念26 2.2.3文法与语言的分类27 2.3句型分析30 2.3.1句型分析与语法分析树30 2.3.2二义性33 2.3.3分析技术及其分类34 2.4语法分析树的计算机生成38 本章小结40 复习思考题41 习题41 第3章词法分析42 3.1概况42 3.2词法分析程序的手工实现43 3.2.1实现要点43 3.2.2属性字的设计44 3.2.3标识符的处理47 3.2.4词法分析程序的设计和编写53 3.3词法分析程序的自动生成58 3.3.1词法分析程序自动生成的基本思想58 3.3.2正则表达式60 本章小结70 复习思考题71 习题71 第4章语法分析——自顶向下分析技术72 4.1自顶向下分析技术概况72 4.1.1讨论前提72 4.1.2自顶向下分析技术要解决的基本问题73 4.1.3自顶向下分析技术的实现思想与应用条件73 4.1.4消去左递归的文法等价变换75 4.2无回溯的自顶向下分析技术79 4.2.1应用条件79 4.2.2递归下降分析技术80 4.2.3预测分析技术86 4.3预测识别程序句型分析的计算机实现94 4.3.1预测分析表的存储表示94 4.3.2语法分析树的构造及输出95 本章小结97 复习思考题97 习题98 第5章语法分析——自底向上分析技术99 5.1自底向上分析技术概况99 5.1.1讨论前提99 5.1.2基本实现方法100 5.2LR(1)分析技术102 5.2.1LR(1)分析技术与LR(1)文法102 5.2.2LR(1)识别程序的计算机实现119 5.2.3识别程序自动构造122 5.3其他的自底向上分析技术126 5.3.1算符优先分析技术概况126 5.3.2应用算符优先分析技术句型分析128 5.3.3优先函数129 本章小结130 复习思考题130 习题131 第6章语义分析与目标代码生成132 6.1概况132 6.1.1语义分析的概念132 6.1.2属性与属性文法134 6.1.3语法制导定义与翻译方案的设计141 6.1.4类型表达式149 6.2说明部分的翻译151 6.2.1常量定义的翻译152 6.2.2变量说明的翻译153 6.2.3函数定义的翻译156 6.2.4结构类型的翻译160 6.3类型检查161 6.3.1表达式的类型检查161 6.3.2语句的类型检查163 6.4目标代码的生成164 6.4.1与目标代码生成相关的若干要点165 6.4.2虚拟机168 6.4.3控制语句的翻译169 6.5翻译方案的实现195 6.5.1实现要点196 6.5.2语义子程序及其执行201 本章小结205 复习思考题206 习题206 第7章中间表示代码与代码优化208 7.1概况208 7.1.1代码优化与代码优化程序208 7.1.2代码优化的分类209 7.2源程序的中间表示代码210 7.2.1四元式序列211 7.2.2生成四元式序列的翻译方案的设计213 7.2.3从四元式序列生成目标代码215 7.2.4其他的中间表示代码219 7.3基本块的代码优化222 7.3.1基本块优化的种类222 7.3.2基本块优化的实现225 7.4与循环有关的优化230 7.4.1循环优化的种类230 7.4.2循环优化的基�234 7.4.3循环优化的实现241 7.5全局优化的实现思想244 7.6窥孔优化245 7.6.1冗余指令删除246 7.6.2控制流优化247 7.6.3代数化简247 7.6.4特殊指令的使用247 本章小结248 复习思考题248 习题248 第8章程序错误的检查与校正250 8.1概述250 8.1.1程序错误检查的必要性250 8.1.2错误的种类250 8.1.3相关的基本概念251 8.2词法错误的复原与校正252 8.2.1词法错误的种类252 8.2.2词法错误的校正253 8.3语法错误的复原与校正253 8.3.1语法错误的复原253 8.3.2语法错误的校正254 8.4语义错误255 8.4.1语义错误的种类255 8.4.2语义错误检查措施256 本章小结258 复习思考题258 习题258 第9章目标代码的运行259 9.1概述259 9.2运行时刻的存储管理260 9.2.1变量情况分析260 9.2.2静态存储分配262 9.2.3栈式存储分配262 9.2.4堆式存储分配262 9.3符号表263 9.3.1符号表的组织263 9.3.2符号表的数据结构267 9.4运行时刻支持系统268 本章小结269 复习思考题269 习题270 第10章虚拟机目标程序的解释程序的研制271 10.1虚拟机指令操作码种类271 10.2设计要点273 10.2.1操作数的处理273 10.2.2控制转移指令的处理274 10.2.3操作码的确定与模拟执行275 10.2.4输入输出指令的处理275 10.3数据结构设计276 10.4符号模拟执行虚拟机目标程序的解释程序276 本章小结281 复习思考题281 参考文献282
……[看更多目录]