E-BOOK 编译技术导论 江贺 编译技术导论

编译技术导论

📥 PDF 电子书 · 百度网盘 · 约 83M 👤 江贺 📖 电子工业出版社 📋 9787121520259 🌐 zh-CN
307
下载次数
4.8
用户评分

📦 下载本书

  • 理解编译全过程:系统掌握从词法分析到目标代码生成的完整编译流程,建立编译器的整体认知框架。
  • 掌握文法与自动机理论:深入理解形式语言与自动机理论,学会用正则式和有限自动机描述和识别词法单元。
  • 实现语法分析器:掌握自上而下和自下而上两种语法分析方法,能够设计并实现递归下降和LL(1)分析器。
  • 生成中间代码与目标代码:学会语法制导翻译和中间代码生成技术,理解存储分配与目标代码优化的基本方法。
  • 使用工具构建编译器:熟悉Lex和yacc等编译器构造工具,能够快速生成词法分析器和语法分析器。

📖 书籍简介

内容简介
“编译技术”课程提供了理解程序如何被计算机执行的理论基石和关键技术。本书内容组织严密,循序渐进地介绍编译技术核心环节。第1章为绪论,第2章为高级语言设计基础,第3章为词法分析,第4章为自上而下的语法分析,第5章为自下而上的语法分析,第6章为语法制导的翻译,第7章为中间代码生成,第8章为过程存储分配,第9章为目标代码生成,第10章为国产编译器进展,第11章为词法分析工具Lex,第12章为语法分析工具yacc。
本书为国家一流课程“编译技术”的配套教材,本书配套的视频课程在中国大学慕课平台开设,对应的实验已经放置在头歌实践教学平台。本书可作为高等院校软件工程专业及相关专业“编译原理”“编译技术”课程的教材。
作者简介
江贺,教授、博导,辽宁省政协委员,国家高层次人才、国家优秀青年科学基金获得者(优青)、教育部新世纪人才。担任大连理工大学信息学部副主任委员,大连理工大学人工智能大连研究院院长,全国编译技术虚拟教研室副主任委员、教育部101计划课程建设组专家、计算机学会软件工程专委会常务委员、计算机学会青年科学家学术前沿探索丛书编委会委员、中国信标委软件与系统工程分技术委员会委员、大连YOCSEF主席(2021-2022)。
目录
第1章 绪论
1.1 编译器的定义和功能
1.1.1 编译器的主要组件
1.1.2 编译器的工作流程
1.2 程序语言的类型
1.2.1 机器语言、汇编语言和高级语言
1.2.2 高级语言的类型
1.3 编译过程和编译器的结构
1.3.1 词法分析阶段
1.3.2 语法分析阶段
1.3.3 语义分析阶段
1.3.4 中间代码生成
1.3.5 代码优化阶段
1.3.6 目标代码生成
1.4 解释程序及软件工具
1.4.1 解释程序的功能与实例
1.4.2 软件工具
1.5 编译技术的发展历程及典型编译器
1.5.1 编译技术的发展历程
1.5.2 典型编译器
1.6 拓展阅读
1.7 习题
第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.1 0型文法
2.3.2 上下文有关文法
2.3.3 上下文无关文法
2.3.4 正则文法
2.3.5 四类文法的比较
2.4 高级语言设计
2.4.1 程序语言的定义
2.4.2 高级语言的起源
2.4.3 数据类型
2.4.4 语句和控制结构
2.4.5 语言设计的步骤
2.5 语言设计实例
2.5.1 Simple语言字符集的定义
2.5.2 Simple语言词法单元的定义
2.5.3 Simple语言数据类型的定义
2.5.4 Simple语言表达式的定义
2.5.5 Simple语言语句的定义
2.5.6 Simple语言程序体和程序的定义
2.5.7 Simple语言程序
2.6 仓颉语言介绍
2.6.1 仓颉语言概述
2.6.2 仓颉语言的特点
2.6.3 仓颉语言示例代码及编译方法
2.7 拓展阅读
2.8 习题
第3章 词法分析
3.1 词法分析基本思想
3.1.1 词法分析任务
3.1.2 词法分析方式
3.2 词法单元的识别
3.2.1 词法单元分类
3.2.2 词法单元的内部表示
3.2.3 词法单元的形式化描述
3.3 有限自动机
3.3.1 DFA
3.3.2 NFA
3.3.3 NFA到DFA转换——子集构造法
3.3.4 DFA的化简
3.4 正则式与有限自动机
3.4.1 正则式
3.4.2 正则式与有限自动机的等价性
3.4.3 正则文法与有限自动机的等价性
3.5 词法分析器的设计及实现
3.5.1 词法分析器的输入
3.5.2 扫描缓冲区及其预处理
3.5.3 由词法规则画出状态转换图
3.5.4 词法单元对应状态转换图的实现
3.6 词法分析中的错误处理
3.7 拓展阅读
3.7.1 斯蒂芬·科尔·克莱尼:正则式
3.7.2 迈克尔·拉宾和达纳·斯科特:有限自动机与其判定性问题
3.7.3 有限自动机在KMP算法中的应用
3.7.4 正则式的应用场景
3.8 习题
第4章 自上而下的语法分析
4.1 语法分析基础
4.1.1 语法分析的输入
4.1.2 语法分析的错误处理
4.1.3 语法分析方法的分类
4.2 自上而下语法分析中存在的问题
4.2.1 包含回溯的自上而下语法分析
4.2.2 回溯产生的原因与解决方法
4.3 自上而下语法分析方法
4.3.1 first集合定义及构造方法
4.3.2 follow集合定义及构造方法
4.3.3 递归下降分析法
4.3.4 递归下降分析的程序方法
4.3.5 LL(1)分析法
4.4 Simple语言自上而下语法分析器的设计
4.5 自上而下语法分析中的错误处理
4.6 拓展阅读
4.7 习题
第5章 自下而上的语法分析
5.1 自下而上分析
5.1.1 移进-归约分析
5.1.2 归约与句柄
5.2 LR分析器
5.2.1 LR分析器的逻辑结构和工作过程
5.2.2 LR分析算法
5.2.3 LR文法
5.3 LR(0)分析表的构造
5.3.1 规范句型的活前缀
5.3.2 活前缀的含义
5.3.3 LR(0)项目
5.3.4 闭包运算和goto函数
5.3.5 LR(0)项目集规范族
5.3.6 LR(0)文法
5.3.7 构造LR(0)分析表
5.3.8 LR(0)分析的缺陷
5.4 SLR(1)分析法
5.4.1 SLR(1)分析及SLR(1)分析表的构造
5.4.2 SLR(1)分析法的问题
5.5 LR(1)分析法
5.5.1 LR(1)项目
5.5.2 构造LR(1)分析表
5.6 LALR(1)分析法
5.6.1 同心项目集
5.6.2 构造LALR(1)分析表
5.6.3 几种LR分析法的对比
5.7 LR 分析与二义性文法
5.7.1 非LR上下文无关结构
5.7.2 二义性文法如何利用LR分析法
5.8 拓展阅读
5.9 习题
第6章 语法制导的翻译
6.1 文法符号的属性
6.1.1 语义规则和产生式的关系
6.1.2 属性文法
6.1.3 语义规则
6.1.4 综合属性
6.1.5 继承属性
6.1.6 语义规则的计算顺序
6.1.7 属性与分析过程的关系
6.2 S属性定义的自下而上计算
6.2.1 抽象

📑 章节目录

  1. 绪论
  2. 高级语言设计基础
  3. 词法分析
  4. 自上而下的语法分析
  5. 自下而上的语法分析
  6. 语法制导的翻译
  7. 中间代码生成
  8. 过程存储分配
  9. 目标代码生成
  10. 国产编译器进展
  11. 词法分析工具Lex
  12. 语法分析工具yacc