×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
暂无评论
图文详情
  • ISBN:9787302520078
  • 装帧:平装-胶订
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:310
  • 出版时间:2023-01-01
  • 条形码:9787302520078 ; 978-7-302-52007-8

内容简介

本书主要讲述设计和构造编译程序的一般原理、基本设计方法和主要实现技术,以高级语言程序编译的6个主要阶段——词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成为线索,阐述了各阶段的主要功能、原理、设计技术和实现方法。
本书适合作为工程实践型、应用型本科院校计算机相关专业的教材,也适合作为工程技术人员的参考书。

目录

●第1章编译概述 1.1程序设计语言及翻译程序 1.1.1程序设计语言的发展 1.1.2翻译程序大家族 1.1.3高级语言的运行方式 1.2编译系统 1.2.1高级语言编译流程 1.2.2高级语言编译实例 1.3编译过程和编译程序的结构 1.3.1编译过程概述 1.3.2编译程序的结构 1.3.3编译阶段的组合 1.4编译程序的构造方法 1.5认识Sample语言 1.5.1高级语言的构成成分 1.5.2程序的结构 1.5.3Sample语言规范 1.5.4符合Sample语言规范的源程序举例 1.6编译程序的发展及编译技术的应用 1.6.1编译程序的发展 1.6.2编译技术的应用 1.6.3为什么要学习编译原理及其构造技术 1.7本书结构 1.8小结 1.9习题 第2章词法分析 2.1词法分析概述 2.2高级语言中的单词 2.2.1单词的分类 2.2.2单词的种别码 2.3单词的识别 2.3.1状态转换图 2.3.2单词识别程序 2.3.3超前搜索技术和双界符的识别 2.3.4数值型常量的识别与状态转换图的合并 2.4词法分析器的设计 2.5正则表达式与有穷自动机 2.5.1符号和符号串 2.5.2集合的运算及语言的定义 2.5.3正则表达式 2.5.4有穷自动机 2.5.5正则表达式与有穷自动机的等价性 2.6词法分析器的自动生成工具 2.6.1Lex概述 2.6.2Lex源文件的书写 2.6.3Lex的工作原理 2.6.4Lex使用中的一些注意事项 2.6.5使用Lex自动生成词法分析器 2.7词法分析中的错误处理 2.8小结 2.9习题 第3章语法分析 3.1语法分析概述 3.2上下文无关文法 3.2.1文法的定义 3.2.2推导 3.2.3文法产生的语言 3.2.4语法树 3.2.5二义文法 3.2.6消除二义性 *3.2.7Sample语言文法描述 3.3自上而下的语法分析 3.3.1自上而下分析方法中的问题探究 3.3.2LL(1)文法 3.3.3递归下降分析方法 3.3.4预测分析方法 3.4自下而上的语法分析 3.4.1自下而上分析方法概述 3.4.2算符优先分析 3.4.3LR分析法 3.5语法分析器的自动生成工具YACC 3.5.1YACC概述 3.5.2YACC源文件的格式 3.5.3YACC的翻译规则 3.5.4YACC的辅助程序 3.6语法分析中的错误处理 3.6.1语法分析中的错误处理的一般原则 3.6.2自上而下语法分析的错误处理 3.6.3自下而上语法分析的错误处理 3.7小结 3.8习题 第4章语义分析 4.1语义分析概述 4.2Sample语言的语义描述 4.2.1程序的语义 4.2.2函数的语义 4.2.3各种名字的声明和使用的语义 4.2.4各种语句的语义 4.2.5表达式的语义 4.3符号表管理技术 4.3.1符号表概述 4.3.2符号表的组织方式 4.3.3符号表的操作 4.4静态语义检查 4.4.1静态语义检查概述 4.4.2声明与定义语义检查 4.4.3表达式语义检查 4.4.4语句语义检查 4.5小结 4.6习题 第5章中间代码生成 5.1中间代码生成概述 5.2中间代码 5.2.1逆波兰式 5.2.2三地址代码 *5.2.3抽象语法树 5.2.4有向无环图表示 5.3属性文法和语法制导的翻译 5.3.1属性文法 5.3.2属性的计算 5.3.3属性的计算顺序 5.3.4语法制导翻译的实现方法 5.4常见语句的语法制导的翻译 5.4.1声明语句的语义处理 5.4.2表达式的翻译 5.4.3布尔表达式的翻译 5.4.4控制语句的翻译 *5.4.5函数定义及函数调用的翻译 5.5中间代码生成器的设计 5.6小结 5.7习题 第6章运行时存储组织 6.1存储组织 6.1.1程序执行时存储器的划分 6.1.2活动记录 6.1.3局部数据布局 6.2函数调用 6.2.1源程序中的函数 6.2.2函数执行时的活动 6.2.3名字的作用域 6.2.4参数的传递 6.2.5名字的绑定 6.3存储分配策略 6.3.1静态存储分配 6.3.2栈式存储分配 6.3.3堆式存储分配 *6.4垃圾回收机制 6.4.1可达性 6.4.2引用计数回收器 6.4.3标记清扫回收器 6.4.4复制回收器 6.5C语言编译程序运行时存储实例 6.5.1内存的划分及程序执行的总体情况 6.5.2案例: 程序运行时内存的变化 6.6小结 6.7习题 第7章代码优化 7.1代码优化概述 7.1.1代码优化的地位 7.1.2基本块的概念及流图 7.2局部优化 7.2.1删除公共子表达式 7.2.2复写传播 7.2.3删除无用代码 7.2.4代数恒等变换 7.2.5基本块的DAG表示及优化 7.3循环优化 7.3.1循环的定义 7.3.2代码外提 7.3.3强度削弱 7.3.4删除归纳变量 7.4小结 7.5习题 第8章目标代码生成 8.1概述 8.2目标机及指令系统简介 8.2.180x86体系结构 8.2.280x86中的寄存器 8.2.380x86指令系统介绍 8.3一个简单的代码生成器 8.4基本块的代码生成器 8.4.1引用信息和活跃信息 8.4.2寄存器描述和地址描述 8.4.3基本块的代码生成 8.5从DAG生成目标代码 8.6代码优化及目标代码生成器的设计 8.6.1目标代码生成器的结构 8.6.2汇编指令的选择 8.6.3构成完整的汇编语言程序 8.7小结 8.8习题 参考文献
展开全部

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航