书籍详情
《编译原理原书第2版计算机科学丛书黑皮书》[55M]百度网盘|亲测有效|pdf下载
  • 编译原理原书第2版计算机科学丛书黑皮书

  • 出版社:机械工业出版社官方旗舰店
  • 出版时间:2008-12
  • 热度:11417
  • 上架时间:2024-06-30 09:08:33
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

baecf198635367d9.jpgeef3fc2728ae9c53.jpg

商品参数

  商品基本信息
商品名称:   null
作者:   (美)Alfred V. Aho /Monica S.Lam/Ravi Sethi/Jeffrey D. Ullman著
市场价:   89.00
ISBN号:   9787111251217
版次:   2-8
出版日期:   2008-12
页数:   631
字数:   
出版社:   机械工业出版社


内容介绍

   内容简介
    本书全面、深入地探讨了编译器设计方面的重要主题,包括词法分析、语法分析、语法制导定义和语法制导翻译、运行时刻环境、目标代码生成、代码优化技术、并行性检测以及过程间分析技术,并在相关章节中给出大量的实例。与上一版相比,本书进行了全面的修订,涵盖了编译器开发方面的*新进展。每章中都提供了大量的系统及参考文献。
本书是编译原理课程方面的经典教材,内容丰富,适合作为高等院校计算机及相关专业本科生及研究生的编译原理课程的教材,也是广大技术人员的**佳参考读物。

    



目录

  目录
目录
前言
*1章 引论 2
1.1 语言处理器 2
1.1.1 1.1节的练习 4
1.2 一个编译器的结构 4
1.2.1 词法分析 5
1.2.2 语法分析 6
1.2.3 语义分析 7
1.2.4 中间代码生成 7
1.2.5 代码优化 8
1.2.6 代码生成 8
1.2.7 符号表管理 9
1.2.8 将多个步骤组合成趟 9
1.2.9 编译器构造工具 9
1.3 程序设计语言的发展历程 10
1.3.1 走向*级程序设计语言 10
1.3.2 对编译器的影响 11
1.3.3 1.3节的练习 11
1.4 构建一个编译器的相关科学 12
1.4.1 编译器设计和实现中的建模 12
1.4.2 代码优化的科学 12
1.5 编译技术的应用 13
1.5.1 *级程序设计语言的实现 14
1.5.2 针对计算机体系结构的优化 15
并行性 15
内存层次结构 15
1.5.3 新计算机体系结构的设计 16
RISC 16
专用体系结构 17
1.5.4 程序翻译 17
二进制翻译 17
硬件合成 17
数据查询解释器 18
编译然后模拟 18
1.5.5 软件生产率工具 18
类型检查 19
边界检查 19
内存管理工具 19
1.6 程序设计语言基础 19
1.6.1 静态和动态的区别 20
1.6.2 环境与状态 20
1.6.3 静态作用域和块结构 22
1.6.4 显式访问控制 24
1.6.5 动态作用域 24
1.6.6 参数传递机制 26
值调用 26
引用调用 26
名调用 27
1.6.7 别名 27
1.6.8 1.6节的练习 27
1.7 *一章的总结 28
1.8 *一章的参考书目 29

*2章 一个简单的语法制导翻译器 2
2.1 引言 2
2.2 语法定义 4
2.2.1文法定义 4
2.2.2 推导 5
2.2.3 语法分析树 6
2.2.4 二义性 8
2.2.5 运算符的结合性 8
2.2.6 运算符的优先级 9
2.2.7 2.2节的练习 12
2.3 语法制导翻译 13
2.3.1 后缀表示 14
2.3.2 综合属性 15
2.3.3 简单语法制导定义 17
2.3.4 树的遍历 17
2.3.5 翻译方案 18
2.3.6 2.3节的练习 21
2.4 语法分析 21
2.4.1 自顶向下分析方法 22
2.4.2 预测分析法 25
2.4.3 何时使用?-产生式 26
2.4.4 设计一个预测语法分析器 27
2.4.5 左递归 28
2.4.6 2.4节的练习 29
2.5 简单表达式的翻译器 29
2.5.1抽象语法和具体语法 30
2.5.2调整翻译方案 31
2.5.3非终结符号的过程 33
2.5.4 翻译器的简化 34
2.5.5 完整的程序 35
2.6 词法分析 37
2.6.1 剔除空白和注释 38
2.6.2 预读 39
2.6.3 常量 39
2.6.4 识别关键字和标识符 40
2.6.5 词法分析器 42
2.6.6 2.6节的练习 45
2.7 符号表 46
2.7.1 为每个作用域设置一个符号表 47
2.7.2 符号表的使用 50
2.8 中间代码生成 52
2.8.1 两种中间表示形式 52
2.8.2 语法树的构造 53
2.8.4 三地址码 60
2.8.5 2.8节的练习 66
2.9 *2章的总结 66

第3章 词法分析 2
3.1 词法分析器的作用 2
3.1.1词法分析及解析 4
3.1.2词法单元、模式、词素 5
3.1.3词法单元的属性 6
3.1.4词法错误 7
3.1.5 3.1节的练习 8
3.2 输入缓冲 9
3.2.1缓冲区对 9
3.2.2哨兵标记 10
3.3 词法单元的规约 10
3.3.1 串和语言 11
3.3.2 语言上的运算 13
3.3.3 正则表达式 14
3.3.4 正则定义 17
3.3.5 正则表达式的扩展 18
3.3.6 3.3节的练习 19
3.4 词法单元的识别 22
3.4.1 状态转换图 24
3.4.2 保留字和标识符的识别 26
3.4.3 完成我们的连续性例子 27
3.4.4 基于状态转换图的词法分析器的体系结构 28
3.4.5 3.4节的练习 30
3.5 词法分析器生成工具Lex 34
3.5.1 Lex的使用 34
3.5.2 Lex程序的结构 35
3.5.3 Lex中的冲突解决 38
3.5.4 向前看运算符 38
3.5.5 3.5节练习 40
3.6 有穷自动机 41
3.6.1 不确定的有穷自动机 41
3.6.2 转换表 42
3.6.3 NFA接受输入字符串 43
3.6.4 确定的有穷自动机 44
3.6.5 3.6节的练习 45
3.7 从正则表达式到自动机 46
3.7.1 从NFA到DFA的转换 47
3.7.2 NFA的模拟 50
3.7.3 NFA模拟效率 51
3.7.4 从正则表达式构造NFA 53
3.7.5 字符串处理算法的效率 57
3.7.6 3.7节的练习 60
3.8词法分析器生成工具的设计 60
3.8.1 被生成的词法分析器的结构 61
3.8.2 基于NFA的模式匹配 62
3.8.3 词法分析器使用的DFA 64
3.8.4实现向前看运算符 65
3.8.5 3.8的练习 66
3.9 基于DFA的模式匹配器的优化 67
3.9.1 NFA的重要状态 67
3.9.2 根据抽象语法树计算得到的函数 69
3.9.3 计算nullable、firstpos及lastpos 70
3.9.4 计算followpos 71
3.9.5 根据正则表达式构建DFA 73
3.9.6 *小化一个DFA的状态数 74
3.9.7 词法分析器的状态*小化 78
3.9.8 在DFA模拟中用时间换取空间 79
3.9.9 3.9节的练习 80
3.9.10 第3章的总结 81
3.11 参考文献 83

第4章 语法分析 2
4.1 引论 3
4.1.1 语法分析器的角色 3
4.1.2 代表性的文法 4
4.1.3 语法错误的处理 5
4.1.4 错误恢复策略 6
4.2 上下文无关文法 8
4.2.1 上下文无关文法的正式定义 8
4.2.2符号表示的惯例 9
推导 10
语法分析树和推导 12
二义性 14
4.2.6验证文法生成的语言 15
4.2.7上下文无关文法和正则表达式 16
4.2.8 4.2节的练习 17
写文法 20
4.3.1 词法分析和语法分析 20
4.3.2 消除二义性 21
4.3.3左递归的消除 23
4.3.4提取左公因子 25
4.3.5非上下文无关的语言构造 26
4.3.6 4.3节的练习 27
自顶向下的语法分析 28
4.4.1 递归下降的语法分析 30
4.4.2 FIRST和FOLLOW 31
4.4.3 LL(1)文法 33
4.4.4 非递归的预测分析 37
4.4.5 预测分析中的错误恢复 39
4.4.6 4.4节的练习 42
自底向上的语法分析 44
4.5.1 归约 45
4.5.2 句柄剪枝 46
4.5.3 移入-归约语法分析技术 47
4.5.4移入-归约语法分析中的冲突 49
4.5.5 4.5节的练习 51
LR语法分析技术介绍:简单LR技术 52
4.6.1 为什么使用LR语法分析器? 52
4.6.2 项和LR(0)自动机 53
4.6.3 LR-语法分析算法 59
4.6.4 构造SLR-分析表 63
4.6.5 可行前缀 67
4.6.6 4.6节的练习 68
4.7 更强大的LR语法分析器 70
4.7.1 规范LR(1)项 71
4.7.2 构造LR(1)项集 72
4.7.3 规范LR(1)分析表 76
4.7.4 构造LALR语法分析表 77
4.7.5 LALR语法分析表的高效构造方法 81
4.7.6 LR语法分析表的压缩 86
4.7.7 4.7节的练习 88
4.8 使用二义性文法 89
4.8.1 用优先级和结合性解决冲突 90
4.8.2 “悬空-else”二义性 92
4.8.3 LR语法分析中的错误恢复 94
4.8.4 4.8节的练习