您好,欢迎光临有路网!
编译原理
QQ咨询:
有路璐璐:

编译原理

  • 作者:侯文永 张冬茉
  • 出版社:电子工业出版社
  • ISBN:9787505379503
  • 出版日期:2002年08月01日
  • 页数:195
  • 定价:¥17.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    编译原理是计算机专业的一门重要专业课,本书旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。本书较系统地介绍了经典的、广泛应用的技术,特别注重词法分析器、语法分析器的自动生成,以及语法制导的翻译方法和以控制流分析与数据流分析为基础的代码优化,并概要介绍了属性文法和并行编译。各章之后附有习题,其中包括要求用C语言实现相应的分析器、翻译器、优化器、代码生成器的习题。
    本书可作为高等院校计算机科学专业的教材,也可作为教师、研究生、软件技术人员的参考书。
    目录
    第1章 引论 1
    1.1 编译程序是一种特定的翻译程序 1
    1.2 编译程序的结构 2
    1.2.1 词法分析阶段 2
    1.2.2 语法分析阶段 2
    1.2.3 语义分析、中间代码生成阶段 3
    1.2.4 优化阶段 3
    1.2.5 目标代码生成阶段 3
    1.2.6 符号表管理 3
    1.2.7 出错管理程序 3
    1.2.8 编译阶段的前端和后端 4
    1.2.9 遍 4
    1.3 编译程序的生成 5
    1.3.1 自展 5
    1.3.2 移植 6
    1.3.3 对编译程序的评价 7
    1.4 编译程序的学习 7
    第2章 文法和语言 8
    2.1 基本概念 8
    2.1.1 语言 8
    2.1.2 文法 10
    2.1.3 归约与句柄 12
    2.2 分析树与二义性 14
    2.2.1 分析树 14
    2.2.2 子树 14
    2.2.3 二义性 15
    2.3 形式语言分类 15
    习题2 17
    第3章 词法分析 19
    3.1 构造一个简单的词法分析器 19
    3.1.1 词法分析器的功能 19
    3.1.2 扫描缓冲区 22
    3.1.3 超前搜索 23
    3.1.4 状态转换图 23
    3.1.5 状态转换图的实现 24
    3.2 正规表达式与正规��� 27
    3.2.1 正规式与正规集的定义 27
    3.2.2 正规式的性质 29
    3.2.3 正规式与正规文法 30
    3.3 有限自动机 30
    3.3.1 有限自动机的定义 30
    3.3.2 FA的表示 31
    3.3.3 FA M识别的的语言 32
    3.3.4 NFA M的确定化 32
    3.3.5 DFA M的简化 34
    3.4 正规式与有限自动机 35
    3.4.1 正规式与有限自动机的等价性 35
    3.4.2 由正规式构造等价的NFA M 37
    3.5 词法分析器的自动生成 38
    习题3 39
    第4章 语法分析 41
    4.1 语法分析概述 41
    4.2 递归下降分析方法 41
    4.2.1 试探分析法 41
    4.2.2 提取左因子 42
    4.2.3 消除左递归 43
    4.2.4 预测分析器 45
    4.3 非递归的预测分析方法 45
    4.3.1 表驱动的预测分析器 45
    4.3.2 FIRST集和FOLLW集 48
    4.3.3 LL(1)文法 50
    4.3.4 预测分析表的构造 51
    4.3.5 错误处理 52
    4.4 算符优先分析法 52
    4.4.1 算符优先关系表 53
    4.4.2 算符优先分析方法 54
    4.4.3 优先关系表的构造 56
    4.4.4 优先函数 57
    4.4.5 错误处理 58
    4.5 LR分析器 59
    4.5.1 LR分析法 59
    4.5.2 识别活前缀的DFA 61
    4.5.3 SLR分析表的构造 66
    4.5.4 LR(1)分析表的构造 67
    4.5.5 LALR分析表的构造 70
    4.6 二义文法的应用 75
    4.7 分析表的自动生成 77
    习题4 78第1章 引论
    1.1 编译程序是一种特定的翻译程序
    1.2 编译程序的结构
    1.2.1 词法分析阶段
    1.2.2 语法分析阶段
    1.2.3 语义分析、中间代码生成阶段
    1.2.4 优化阶段
    1.2.5 目标代码生成阶段
    1.2.6 符号表管理
    1.2.7 出错管理程序
    1.2.8 编译阶段的前端和后端
    1.2.9 遍
    1.3 编译程序的生成
    1.3.1 自展
    1.3.2 移植
    1.3.3 对编译程序的评价
    1.4 编译程序的学习
    第2章 文法和语言
    2.1 基本概念
    2.1.1 语言
    2.1.2 文法
    2.1.3 归约与句柄
    2.2 分析树与二义性
    2.2.1 分析树
    2.2.2 子树
    2.2.3 二义性
    2.3 形式语言分类
    习题2
    第3章 词法分析
    3.1 构造一个简单的词法分析器
    3.1.1 词法分析器的功能
    3.1.2 扫描缓冲区
    3.1.3 超前搜索
    3.1.4 状态转换图
    3.1.5 状态转换图的实现
    3.2 正规表达式与正规集
    3.2.1 正规式与正规集的定义
    3.2.2 正规式的性质
    3.2.3 正规式与正规文法
    3.3 有限自动机
    3.3.1 有限自动机的定义
    3.3.2 FA的表示
    3.3.3 FA M识别的语言
    3.3.4 NFA M的确定化
    3.3.5 DFA M的简化
    3.4 正规式与有限自动机
    3.4.1 正规式与有限自动机的等价性
    3.4.2 由正规式构造等价的NFA M
    3.5 词法分析器的自动生成
    习题3
    第4章 语法分析
    4.1 语法分析概述
    4.2 递归下降分析方法
    4.2.1 试探分析法
    4.2.2 提取左因子
    4.2.3 消除左递归
    4.2.4 预测分析器
    4.3 非递归的预测分析方法
    4.3.1 表驱动的预测分析器
    4.3.2 FIRST集和FOLLW集
    4.3.3 LL(1)文法
    4.3.4 预测分析表的构造
    4.3.5 错误处理
    4.4 算符优先分析法
    4.4.1 算符优先关系表
    4.4.2 算符优先分析方法
    4.4.3 优先关系表的构造
    4.4.4 优先函数
    4.4.5 错误处理
    4.5 LR分析器
    4.5.1 LR分析法
    4.5.2 识别活前缀的DFA
    4.5.3 SLR分析表的构造
    4.5.4 LR(1)分析表的构造
    4.5.5 LALR分析表的构造
    4.6 二义文法的应用
    4.7 分析表的自动生成
    习题4

    第5章 语法制导翻译和中间代码生成
    5.1 翻译概述
    5.1.1 静态语义检查
    5.1.2 语义制导翻译的例子
    5.1.3 翻译要解决的问题
    5.2 中间语言
    5.2.1 后缀式表示
    5.2.2 图表示
    5.2.3 三地址代码
    5.2.4 三地址语句的种类
    5.2.5 三地址代码的具体实现
    5.3 说明语句
    5.3.1 一类说明语句的翻译方案
    5.3.2 嵌套过程中的说明语句
    5.3.3 记录中的域名
    5.4 赋值语句
    5.4.1 只含简单变量的赋值语句的翻译
    5.4.2 类型转换
    5.4.3 含数组元素的赋值语句的翻译
    5.4.4 访问记录结构中的域
    5.5 控制流语句
    5.5.1 布尔表达式的两种基本作用
    5.5.2 布尔表达式的两种翻译方法
    5.5.3 数值表示法翻译方案
    5.5.4 控制流语句中布尔表达式的翻译
    5.5.5 控制流语句的翻译
    5.5.6 转向语句和语句标号
    5.6 循环语句、过程调用语句及CASE语句
    5.6.1 循环语句的翻译
    5.6.2 过程调用、函数调用语句的翻译
    5.6.3 CASE语句或switch语句的翻译
    5.7 属性文法
    5.7.1 语法制导定义
    5.7.2 属性的分类
    5.7.3 依赖图
    5.7.4 语义规则的计算次序
    5.7.5 属性文法的两个子类
    习题5
    第6章 运行时存储空间管理
    6.1 变量及存储分配
    6.1.1 程序的存储空间
    6.1.2 活动记录
    6.1.3 变量的存储分配
    6.1.4 存储分配模式
    6.2 静态分配
    6.2.1 FORTRAN程序运行时的结构
    6.2.2 运行环境的转换
    6.3 栈式分配
    6.3.1 只含半静态变量的栈式分配
    6.3.2 半动态变量的栈式分配
    6.3.3 动态变量的存储分配
    6.3.4 非局部环境
    6.3.5 对非局部环境的引用
    6.4 堆分配
    6.5 参数传递
    6.5.1 数据参数传递
    6.5.2 过程参数的传递
    6.6 符号表
    6.6.1 符号表的组织
    6.6.2 常用的符号表结构
    习题6
    第7章 代码优化
    7.1 优化概述
    7.1.1 优化定义
    7.1.2 不同阶段的优化
    7.1.3 程序流图的构造
    7.2 局部优化
    7.2.1 基本块内的优化
    7.2.2 基本块的dag表示
    7.2.3 dag的构造
    7.2.4 dag实现的优化
    7.2.5 对dag构造算法的修正
    7.3 控制流分析及循环的查找
    7.3.1 循环的定义
    7.3.2 必经结点集
    7.3.3 自然循环
    7.3.4 可归约流图
    7.3.5 深度优先搜索
    7.4 数据流分析
    7.4.1 到达一定值数据流方程和ud链
    7.4.2 活跃变量数据流方程和du链
    7.4.3 可用表达式数据流方程与复写传播
    7.4.4 非常忙表达式与代码提升
    7.4.5 数据流方程的求解
    7.5 循环优化
    7.5.1 循环优化的例子
    7.5.2 代码外提
    7.5.3 归纳变量
    7.5.4 强度削弱
    7.5.5 删除归纳变量
    习题7
    第8章 代码生成
    8.1 目标代码
    8.1.1 代码生成器的输入与输出
    8.1.2 目标机
    8.2 一个简单代码生成器
    8.2.1 待用信息
    8.2.2 寄存器描述和地址描述
    8.2.3 如何生成目标代码
    8.2.4 函数getreg(P:x:=y op z)
    8.2.5 代码生成算法
    8.2.6 其他语句的代码生成
    8.3 寄存器分配
    8.3.1 执行代价的节省
    8.3.2 固定分配寄存器的代码生成
    8.3.3 多重循环的寄存器分配
    8.3.4 用图的点着色法做寄存器分配
    8.4 窥孔优化
    8.5 由dag生成代码
    8.5.1 重新安排计算次序
    8.5.2 dag为树时*优代码生成
    习题8
    第9章 并行编译概述
    9.1 并行计算机及其编译系统
    9.1.1 向量计算机
    9.1.2 共享存储器多处理机
    9.1.3 分布存储器大规模并行计算机
    9.1.4 并行编译系统的结构
    9.2 并行编译技术
    9.2.1 依赖关系
    9.2.2 依赖测试
    9.2.3 循环向量化与并行化
    参考文献
    编辑推荐语
    编译原理是计算机专业设置的一门重要的专业课程。虽然只有少数人从事编译方面的工作,但是这门课在理论、技术、方法上都对学生提供了系统而有效的训练,有利于提高软件人员的素质和能力。
    为了用有限的篇幅较深入地讨论编译的主要内容,本书尽可能用较简洁的方式描述这些内容。读者在学习编译原理时应努力在头脑中构造一台虚拟机,编译所涉及的各个环节都能在虚拟机中运作。完成各章后的习题对理解所涉及的内容是有益的。就某个虚拟语言(如PL/0)构造它的编译程序,对掌握编译技术是十分重要的。

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外