顶部
收藏

编译原理


作者:
何炎祥
定价:
28.00元
ISBN:
978-7-04-015391-0
版面字数:
390.000千字
开本:
16开
全书页数:
298页
装帧形式:
平装
重点项目:
暂无
出版时间:
2004-07-30
读者对象:
高等教育
一级分类:
计算机/教育技术类
二级分类:
计算机类专业核心课程
三级分类:
编译原理

  本书主要介绍设计和构造编译程序的基本原理和方法。内容包括形式语言理论和自动机理论、常用的词法分析方法、各种经典的语法分析方法、语法制导翻译方法、存储器的组织与管理方法、符号表的组织与造查表方法、代码优化和代码生成方法、并行编译程序及编译自动化技术等。
  本书注重理论与实践、原理与方法的互通,基本概念阐述清晰,讲授深入浅出,循序渐进,系统性强。各章之后还附有难度不一的习题供复习、思考和探索之用。本书既可作为高等院校计算机专业的教材,也可供相关专业师生和科技工作者及软件研发人员学习和参考。
  • 前辅文
  • 第1章 引论
    • 1. 1 翻译程序
      • 1. 1. 1 程序设计语言
      • 1. 1. 2 翻译程序
    • 1. 2 为什么需要编译程序
    • 1. 3 编译程序的工作过程
      • 1. 3. 1 分析
      • 1. 3. 2 综合
    • 1. 4 编译程序的结构
    • 1. 5 编译程序的组织方式
    • 1. 6 编译程序的其他有关技术
      • 1. 6. 1 编译程序的自展技术
      • 1. 6. 2 编译程序的移植技术
      • 1. 6. 3 编译程序自动化
      • 1. 6. 4 程序的可再入性
    • 1. 7 翻译程序编写系统
    • 1. 8 并行编译程序
    • 1. 9 小结
    • 习题一
  • 第2章 形式语言概论
    • 2. 1 语言成分
    • 2. 2 产生式文法和语言
      • 2. 2. 1 产生式文法
      • 2. 2. 2 上下文无关文法
      • 2. 2. 3 上下文无关文法定义的语言
    • 2. 3 文法的分类
      • 2. 3. 1 文法分类
      • 2. 3. 2 文法分类的意义
      • 2. 3. 3 文法举例
    • 2. 4 语言和语法
      • 2. 4. 1 句型、句子和语言
      • 2. 4. 2 语法树
      • 2. 4. 3 语法树的生成过程
    • 2. 5 文法和语言的一些特性
      • 2. 5. 1 无用非终结符号
      • 2. 5. 2 不可达文法符号
      • 2. 5. 3 可空非终结符
      • 2. 5. 4 最左、最右推导和规范推导
      • 2. 5. 5 二义性
    • 2. 6 分析方法简介
      • 2. 6. 1 自上而下分析方法
      • 2. 6. 2 确定的自上而下分析方法
      • 2. 6. 3 自下而上分析方法
      • 2. 6. 4 文法在内存中的表示
    • 2. 7 小结
    • 习题二
  • 第3章 有穷自动机
    • 3. 1 概述
    • 3. 2 有穷自动机的形式定义
      • 3. 2. 1 状态转换表
      • 3. 2. 2 状态转换图
      • 3. 2. 3 构形和移动
      • 3. 2. 4 自动机的等价性
      • 3. 2. 5 非确定有穷自动机
    • 3. 3 NDFSA 到DFSA 的转换
      • 3. 3. 1 空移环路的寻找和消除
      • 3. 3. 2 消除空移
      • 3. 3. 3 利用状态转换表消除空移
      • 3. 3. 4 确定化———子集法
      • 3. 3. 5 确定化———造表法
      • 3. 3. 6 消除不可达状态
      • 3. 3. 7 确定的有穷自动机的化简
      • 3. 3. 8 从化简后的DFSA 到程序表示
      • 3. 3. 9 小结
    • 3. 4 正规文法和有穷自动机
      • 3. 4. 1 从正规文法到FSA
      • 3. 4. 2 从FSA 到正规文法
    • 3. 5 正规表达式与FSA
      • 3. 5. 1 正规表达式的定义
      • 3. 5. 2 正规表达式的CFG
      • 3. 5. 3 正规表达式与FSA 的对应性
      • 3. 5. 4 正规表达式到NDFSA 的转换
      • 3. 5. 5 NDFSA M 到正规表达式的转换
      • 3. 5. 6 从正规文法到正规表达式
    • 3. 6 DFSA 在计算机中的表示
      • 3. 6. 1 矩阵表示法
      • 3. 6. 2 表结构
      • 3. 6. 3 程序表示法
    • 3. 7 小结
    • 习题三
  • 第4章 词法分析
    • 4. 1 词法分析概述
    • 4. 2 单词符号
    • 4. 3 扫描程序的设计
    • 4. 4 标识符的处理
      • 4. 4. 1 类型的机内表示
      • 4. 4. 2 标识符的语义表示
      • 4. 4. 3 符号表(标识符表)
      • 4. 4. 4 标识符处理的基本思想
    • 4. 5 设计词法分析程序的直接方法
    • 4. 6 与设计扫描程序相关的几个问题
    • 4. 7 小结
    • 习题四
  • 第5章 自上而下语法分析
    • 5. 1 非确定的下推自动机
      • 5. 1. 1 PDA 的形式定义
      • 5. 1. 2 PDA 的构形和移动
      • 5. 1. 3 上下文无关语言与PDA
    • 5. 2 消除左递归方法
      • 5. 2. 1 文法的左递归性
      • 5. 2. 2 用扩展的BNF 表示法消除左递归
      • 5. 2. 3 直接改写法
      • 5. 2. 4 消除所有左递归的算法
    • 5. 3 LL(k)文法
      • 5. 3. 1 LL(1)文法的判断条件
      • 5. 3. 2 集合FIRST、FOLLOW 和SELECT 的构造
    • 5. 4 确定的LL(1)分析器的构造
      • 5. 4. 1 构造分析表M 的算法
      • 5. 4. 2 LL(1)分析器的总控算法
    • 5. 5 LL(k)文法的几个结论
    • 5. 6 递归下降分析程序及其设计
      • 5. 6. 1 框图设计
      • 5. 6. 2 程序设计
    • 5. 7 带回溯的自上而下分析法
      • 5. 7. 1 文法在内存中的存放形式
      • 5. 7. 2 其他信息的存放
      • 5. 7. 3 带回溯的自上而下分析算法
    • 5. 8 小结
    • 习题五
  • 第6章 自下而上分析和优先分析方法
    • 6. 1 短语和句柄
    • 6. 2 移进-归约方法
    • 6. 3 非确定的自下而上分析器
    • 6. 4 有关文法的一些关系
      • 6. 4. 1 关系
      • 6. 4. 2 布尔矩阵和关系
      • 6. 4. 3 Warshall 算法
      • 6. 4. 4 关系FIRST 和LAST
    • 6. 5 简单优先分析方法
      • 6. 5. 1 优先关系
      • 6. 5. 2 简单优先关系的形式化构造方法
      • 6. 5. 3 简单优先文法及其分析算法
      • 6. 5. 4 简单优先分析方法的局限性
    • 6. 6 算符优先分析方法
      • 6. 6. 1 算符优先文法
      • 6. 6. 2 OPG 优先关系的构造
      • 6. 6. 3 素短语及句型的分析
      • 6. 6. 4 算符优先分析算法
    • 6. 7 优先函数及其构造
      • 6. 7. 1 Bell 方法
      • 6. 7. 2 Floyd 方法
      • 6. 7. 3 两种方法的比较
    • 6. 8 两种优先分析方法的比较
    • 6. 9 小结
    • 习题六
  • 第7章 自下而上的LR(k)分析方法
    • 7. 1 LR(k)文法和LR(k)分析器
    • 7. 2 LR(0)分析表的构造
      • 7. 2. 1 规范句型的活前缀
      • 7. 2. 2 LR(0)项目
      • 7. 2. 3 文法G 的拓广文法
      • 7. 2. 4 CLOSURE(I)函数
      • 7. 2. 5 goto(I,X)函数
      • 7. 2. 6 LR(0)项目集规范族
      • 7. 2. 7 有效项目
      • 7. 2. 8 举例
      • 7. 2. 9 LR(0)文法
      • 7. 2. 10 构造LR(0)分析表的算法
      • 7. 2. 11 构造LR(0)分析表步骤小结
    • 7. 3 SLR 分析表的构造
    • 7. 4 规范LR(1)分析表的构造
    • 7. 5 LALR 分析表的构造
    • 7. 6 无二义性规则的使用
    • 7. 7 小结
      • 7. 7. 1 LR 分析程序
      • 7. 7. 2 LR 分析表的自动构造
      • 7. 7. 3 文法间的关系
      • 7. 7. 4 LR 文法举例
      • 7. 7. 5 有关LR 文法的几个结论
    • 习题七
  • 第8章 语法制导翻译法
    • 8. 1 一般原理和树变换
      • 8. 1. 1 一般原理
      • 8. 1. 2 树变换
    • 8. 2 简单SDTS 和自上而下翻译器
    • 8. 3 简单后缀SDTS 和自下而上翻译器
      • 8. 3. 1 后缀翻译
      • 8. 3. 2 IFTHENELSE 控制语句
      • 8. 3. 3 函数调用
    • 8. 4 抽象语法树的构造
      • 8. 4. 1 自下而上构造AST
      • 8. 4. 2 AST 的拓广
    • 8. 5 属性文法
      • 8. 5. 1 L 属性文法
      • 8. 5. 2 S 属性文法
    • 8. 6 中间代码形式
      • 8. 6. 1 逆波兰表示法
      • 8. 6. 2 逆波兰表示法的推广
      • 8. 6. 3 四元式
      • 8. 6. 4 三元式
    • 8. 7 属性翻译文法的应用
      • 8. 7. 1 综合属性与自下而上定值
      • 8. 7. 2 继承属性和自上而下定值
      • 8. 7. 3 布尔表达式到四元式的翻译
      • 8. 7. 4 条件语句的翻译
      • 8. 7. 5 迭代语句的翻译
    • 8. 8 小结
    • 习题八
  • 第9章 运行时的存储组织与管理
    • 9. 1 数据区和属性字
    • 9. 2 基本数据类型的存储分配
    • 9. 3 数组的存储分配
      • 9. 3. 1 单块存储方式
      • 9. 3. 2 信息向量与数组分配程序
      • 9. 3. 3 多块存储方式
    • 9. 4 记录结构的存储分配
    • 9. 5 参数传递方式及其实现
      • 9. 5. 1 换名
      • 9. 5. 2 传值
      • 9. 5. 3 传地址
      • 9. 5. 4 传结果
      • 9. 5. 5 数组名用做实参
      • 9. 5. 6 过程名用做实参
    • 9. 6 栈式存储分配方法
      • 9. 6. 1 概述
      • 9. 6. 2 现行DISPLAY 和现行数据区
      • 9. 6. 3 标识符的作用域
      • 9. 6. 4 分程序的入口和出口工作
      • 9. 6. 5 过程调用时的存储管理
    • 9. 7 堆式存储分配方法
    • 9. 8 临时工作单元的存储分配
    • 9. 9 小结
    • 习题九
  • 第10章 符号表的组织和查找
    • 10. 1 符号表的一般组织形式
    • 10. 2 符号表中的数据
    • 10. 3 符号表的构造与查找
      • 10. 3. 1 线性查找
      • 10. 3. 2 折半法
      • 10. 3. 3 杂凑技术
    • 10. 4 分程序结构的符号表
    • 10. 5 小结
    • 习题十
  • 第11章 优化
    • 11. 1 基本块及其求法
    • 11. 2 优化举例
    • 11. 3 利用变量的定义点进行优化
      • 11. 3. 1 变量的定义点
      • 11. 3. 2 循环中不变式的外提
      • 11. 3. 3 运算强度削弱
      • 11. 3. 4 公共表达式的消除
      • 11. 3. 5 常量合并
    • 11. 4 循环优化
    • 11. 5 借助DAG 进行优化
    • 11. 6 并行分支的优化
    • 11. 7 窥孔优化
    • 11. 8 小结
    • 习题十一
  • 第12章 代码生成
    • 12. 1 假想的计算机模型
    • 12. 2 从四元式生成代码
    • 12. 3 从三元式生成代码
    • 12. 4 从树形表示生成代码
    • 12. 5 从逆波兰表示生成代码
    • 12. 6 寄存器的分配
    • 12. 7 小结
    • 习题十二
  • 参考文献

相关图书