𝔖 Scriptorium
✦   LIBER   ✦

📁

编译原理及实践教程(第3版)

✍ Scribed by 黄贤英; 王柯柯; 曹琼; 魏星


Publisher
清华大学出版社
Year
2019
Tongue
Chinese
Leaves
322
Edition
3
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


本教材面向应用型本科计算机专业学生,从适用性和可操作性的角度把握,以提高学生的软件开发能力为目标,内容精炼,重点突出。本书以一个编译器的设计实现案例贯穿全书,以Sample语言为例利用软件工程结构化程序设计的思想,采取自顶向下分析设计、逐步求精的方法,从词法分析开始,随着教学的深入一步一步地对编译程序及其相关部分进行分析设计,直到完成整个编译器的设计实现。

✦ Table of Contents


封面
书名
版权
前言
目录
第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.3 Sample语言规范
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.1 Lex概述
2.6.2 Lex源文件的书写
2.6.3 Lex的工作原理
2.6.4 Lex使用中的一些注意事项
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.7 Sample语言文法描述
3.3 自上而下的语法分析
3.3.1 自上而下分析方法中的问题探究
3.3.2 LL(1)文法
3.3.3 递归下降分析方法
3.3.4 预测分析方法
3.4 自下而上的语法分析
3.4.1 自下而上分析方法概述
3.4.2 算符优先分析
3.4.3 LR分析法
3.5 语法分析器的自动生成工具YACC
3.5.1 YACC概述
3.5.2 YACC源文件的格式
3.5.3 YACC的翻译规则
3.5.4 YACC的辅助程序
3.6 语法分析中的错误处理
3.6.1 语法分析中的错误处理的一般原则
3.6.2 自上而下语法分析的错误处理
3.6.3 自下而上语法分析的错误处理
3.7 小结
3.8 习题
第4章 语义分析
4.1 语义分析概述
4.2 Sample语言的语义描述
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.5 C语言编译程序运行时存储实例
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.180 x86体系结构
8.2.280 x86中的寄存器
8.2.380 x86指令系统介绍
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 习题
参考文献


📜 SIMILAR VOLUMES


编译原理及编译程序构造(第3版)
✍ 云挺 秦振松 薛联凤 📂 Library 📅 2019 🏛 东南大学出版社 🌐 Chinese

本书介绍编译理论基础及其实现方法,强调语言的形式化定义、编译技术的各种概念及实现过程的具体方法。介绍过程以算法为核心,力求简单明了地反映编译的基础知识。从形式语言理论角度讨论词法分析和语法分析技术,为计算机软件工作者开发大型软件打下良好基础。 本书以理论联系实际为宗旨,内容深入浅出,重点突出,并结合构造EL语言的编译程序介绍一种常用而又简单的编译方法。 本书可作为高等院校计算机专业的本科或专科教材,也可作为硕士研究生入学考试及计算机软件技术人员的参考书。

编译原理(第3版)
✍ 王生原; 董渊; 张素琴; 吕映芝; 蒋维杜 📂 Library 📅 2015 🏛 清华大学出版社 🌐 Chinese

<p>本书介绍程序设计语言编译程序构造的一般原理、基本设计方法和主要实现技术,主要内容包括文法、自动机和语言的基础知识,词法分析,语法分析,语法制导的语义计算,语义分析,中间代码生成,运行时存储组织,代码优化和目标代码生成。</p> <p>除了基本设计原理外,书中还包含两个小型编译程序的设计实例,可选作课程设计的素材。一个是PL/0语言编译程序,其设计和实现框架贯穿于本书相关章节中;另一个是简单面向对象语言Decaf的编译程序。本书最后还介绍了业界广泛使用的开源编译器GCC及和它紧密相关的Binutils工具链,通过一系列程序实例说明这些工具的作用和基本用法。</p> <p>本书可作为高等

编译原理(第3版)
✍ 王生原; 董渊; 张素琴; 吕映芝; 蒋维杜 📂 Library 📅 2015 🏛 清华大学出版社 🌐 Chinese

<p>本书介绍程序设计语言编译程序构造的一般原理、基本设计方法和主要实现技术,主要内容包括文法、自动机和语言的基础知识,词法分析,语法分析,语法制导的语义计算,语义分析,中间代码生成,运行时存储组织,代码优化和目标代码生成。</p> <p>除了基本设计原理外,书中还包含两个小型编译程序的设计实例,可选作课程设计的素材。一个是PL/0语言编译程序,其设计和实现框架贯穿于本书相关章节中;另一个是简单面向对象语言Decaf的编译程序。本书最后还介绍了业界广泛使用的开源编译器GCC及和它紧密相关的Binutils工具链,通过一系列程序实例说明这些工具的作用和基本用法。</p> <p>本书可作为高等

数据库原理及应用教程(第4版)(微课版)
✍ 陈志泊 📂 Library 📅 2017 🏛 人民邮电出版社 🌐 Chinese

<p>全书共7章,主要内容包括:数据库系统概述、关系数据库、关系数据标准语言SQL、关系数据库理论、数据库安全bao护、数据库设计和SQLServer2012高级应用。本书除介绍数据库技术的基本原理外,还以SQLServer2012为背景介绍了数据库技术的实现,使读者可以充分利用SQLServer2012平台深刻理解数据库技术的原理,达到理论和实践的紧密结合。</p>

数据库原理及应用实践教程
✍ 谭新良 蔡代纯 曾敏 📂 Library 📅 2018 🏛 清华大学出版社 🌐 Chinese

本书是《数据库原理及应用》(黄雪华等编著,清华大学出版社出版)的配套实验教材。全书包括两部分内容: 第1部分为SQL Server 2008 R2数据库管理系统的管理与维护;第2部分为Oracle 11g数据库管理系统的管理与维护。每个部分均包含两章内容:前一章详细介绍所使用的软件的安装;后一章提供了操作详细的10个实验,分别是熟悉软件环境、数据库的创建与管理、数据库表的创建与管理、简单查询、连接和嵌套查询、完整性约束、视图操作、索引的创建与管理、存储过程的创建与管理、触发器的创建与管理。 全书体系完整、结构合理、内容翔实、实例丰富,操作过程讲述细致、步骤详细,内容完全符合理论教材,实验选取符

机械原理教程(第3版)
✍ 申永胜 📂 Library 📅 2015 🏛 清华大学出版社 🌐 Chinese

《机械原理教程(第3版)/机械设计基础系列课程教材》是在第2版的基础上,根据教育部高等学校机械基础课程教学指导分委员会最新编制的《机械原理课程教学基本要求》和《机械原理课程教学改革建议》的精神,结合近几年来教学改革实践的经验修订而成的。《机械原理教程(第3版)/机械设计基础系列课程教材》分上、中、下3篇。上篇为机构的运动设计,主要介绍机构的组成原理及各种机构的类型、特点、功能和运动设计方法,包括:机构的组成和结构分析,连杆机构,凸轮机构,齿轮机构,轮系,间歇运动机构,其他常用机构,组合机构,开式链机构;中篇为机械的动力设计,主要介绍机械运转过程中所出现的若干动力学问题以及如何通过合理设计和试验