搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
编译原理
0.00     定价 ¥ 59.00
图书来源: 浙江图书馆(由浙江新华配书)
此书还可采购25本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787030734396
  • 作      者:
    编者:李维华//岳昆//周小兵|责编:于海云//张丽花
  • 出 版 社 :
    科学出版社
  • 出版日期:
    2022-10-01
收藏
畅销推荐
内容介绍
本书围绕编译程序分析、设计和实现方面的主题,介绍上下文无关文法、有限自动机的基础知识,以及构造程序设计语言编译程序的一般原理、设计方法和实现技术,包括词法分析、语法分析、语义分析、中间代码生成、目标代码生成、运行时刻环境和代码优化;设计了一个案例语言,给出该语言翻译器的分析、设计和实现的完整过程;介绍了开源编译器GCC的逻辑结构、典型中间代码形式和存储管理策略,也围绕目标文件介绍了汇编和链接。 本书可以作为高校计算机科学与技术等相关专业的本科生教材,也可以作为相关专业教师和学生的参考书。
展开
目录
第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.3 GCC概述
1.3.1 GCC的语言处理过程
1.3.2 GCC的逻辑结构
1.4 编译程序的发展
1.4.1 程序设计语言的发展
1.4.2 编译技术的发展
习题
第2章 上下文无关文法和分析
2.1 概述
2.2 符号串及运算
2.3 文法
2.3.1 上下文无关文法的定义
2.3.2 推导和归约
2.3.3 文法定义的语言
2.3.4 文法的分类
2.3.5 文法在应用中的说明
2.4 语法树
2.4.1 语法树的定义
2.4.2 文法的二义性
2.4.3 短语和句柄
习题
第3章 词法分析
3.1 正规表达式
3.2 有限自动机
3.2.1 确定的有限自动机
3.2.2 非确定的有限自动机
3.2.3 含e的非确定的有限自动机
3.2.4 非确定有限自动机的确定化
3.2.5 确定有限自动机的最小化
3.3 正规表达式和有限自动机
3.3.1 从正规表达式到有限自动机
3.3.2 从有限自动机到正规表达式
3.4 有限自动机和正规文法
3.5 词法分析程序
3.5.1 DFA的实现
3.5.2 词法分析程序实现应考虑的问题
习题
第4章 语法分析
4.1 自顶向下的语法分析
4.1.1 确定的自顶向下语法分析
4.1.2 LL(1)文法
4.1.3 左递归和左公因子的消除
4.1.4 递归下降的语法分析
4.1.5 表驱动的语法分析
4.2 自底向上的语法分析
4.2.1 移进-归约的语法分析
4.2.2 LR语法分析
4.2.3 项目和项目集
4.2.4 LR(0)分析表构造
4.2.5 SLR(1)分析表构造
4.2.6 LR(1)分析表构造
4.2.7 LALR(1)分析表构造
4.3 语法错误的恢复
4.3.1 递归下降分析中的语法错误的恢复
4.3.2 LL分析中的语法错误的恢复
4.3.3 LR语法分析中的语法错误的恢复
习题
第5章 语义分析
5.1 语义分析概述
5.2 属性文法
5.2.1 属性文法及相关概念
5.2.2 语法制导定义
5.3 属性计算
5.3.1 依赖图
5.3.2 属性的计算顺序
5.3.3 S属性和L属性的语法制导定义
5.4 语法制导翻译
5.4.1 自顶向下语法分析中属性计算
5.4.2 自底向上语法分析中综合属性计算
5.4.3 自底向上语法分析中继承属性计算
5.5 符号表
5.5.1 符号表的作用
5.5.2 符号的属性和存储方法
5.5.3 符号表的设计
5.5.4 符号表的管理
5.5.5 嵌套作用域的管理
5.6 声明
5.7 类型检查
5.7.1 类型表达式
5.7.2 类型检查规则
5.7.3 类型转换
习题
第6章 中间代码生成
6.1 中间代码概述
6.1.1 线性中间代码
6.1.2 树型中间代码
6.1.3 图式中间代码
6.2 赋值语句的翻译
6.2.1 简单赋值语句的翻译
6.2.2 数组引用的翻译
6.3 布尔表达式的翻译
6.3.1 直接对布尔表达式求值
6.3.2 通过控制流翻译布尔表达式
6.4 典型控制结构的翻译
6.5 GCC的中间代码
6.5.1 GENERIC
6.5.2 GIMPLE
6.5.3 RTL
习题
第7章 运行时刻环境
7.1 存储组织
7.1.1 程序运行时的内存映像
7.1.2 存储分配策略
7.2 活动记录
7.2.1 活动记录的一般结构
7.2.2 变长数据的分配
7.3 基于栈的过程管理
7.3.1 过程调用和返回
7.3.2 过程间的值传递
7.4 非局部变量的访问
7.4.1 无嵌套过程的非局部变量
7.4.2 过程嵌套定义的非局部变量
7.5 GCC的存储管理策略
7.5.1 程序运行时的内存映像
7.5.2 x86-64栈结构
7.5.3 函数和参数
习题
第8章 代码优化
8.1 基本块和流图
8.1.1 基本块
8.1.2 流图
8.1.3 循环
8.2 数据流分析
8.2.1 数据流分析模式
8.2.2 到达定值分析
8.2.3 活跃变量分析
8.2.4 可用表达式分析
8.3 窥孔优化
8.4 基本块的优化
8.4.1 基本块的有向无环图表示
8.4.2 基于DAG的代码重建
8.5 循环优化
8.5.1 代码外提
8.5.2 归纳变量相关的优化
习题
第9章 目标代码生成
9.1 代码生成的主要问题
9.1.1 指令选择
9.1.2 寄存器分配
9.1.3 指令调度
9.2 一个简单的代码生成器
9.2.1 目标语言
9.2.2 一个目标代码生成算法
9.2.3 表达式优化代码的生成
9.3 基于图着色的寄存器分配
9.4 目标文件
9.4.1 目标文件格式
9.4.2 汇编
9.4.3 链接
习题
第10章 简单语言的翻译程序
10.1 源语言及其定义
10.1.1 语法定义
1
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证