编辑推荐
《编译原理(第3版)/“十二五”普通高等教育本科国家规划教材》特色:
内容全面、强调主线。包括词法分析、语法分析、语法制导的翻译、静态语义分析、运行时存储空间的组织和管理、中间代码生成、目标代码生成、代码优化、编译系统与运行系统、面向对象语言编译技术和函数式语言编译技术等,并以编译的各个逻辑阶段为主线?重视理论和形式方法。在围绕主线的同时,将相关理论和形式化技术的介绍穿插其中,有助于学生较快地领会和掌握;内容难易有别,难度较大的内容作为可选部分放在每章的最后,以拓宽教材的适用面。习题联系实际。本教材的很多例题和习题是从实际碰到的问题中抽象或抽取出来的:它们联系编程、编译、运行的实际,能激发学生学习本课程的兴趣。
内容简介
《编译原理(第3版)/“十二五”普通高等教育本科国家级规划教材》介绍编译器构造的一般原理和基本实现方法,内容包括词法分析、语法分析、语义分析、中间代码生成、目标代码生成、独立于机器的优化和依赖于机器的优化等。除了介绍命令式编程语言的编译技术外,《编译原理(第3版)/“十二五”普通高等教育本科国家级规划教材》还介绍面向对象编程语言和函数式编程语言的实现技术。另外,《编译原理(第3版)/“十二五”普通高等教育本科国家级规划教材》还强调一些相关的理论知识,如形式语言和自动机理论、语法制导的定义和属性文法、类型论和类型系统等。
《编译原理(第3版)/“十二五”普通高等教育本科国家级规划教材》内容丰富、讲解深入,注意理论联系实际,可作为高等学校计算机科学及相关专业的教材,也可供计算机软件工程技术人员参考。
作者简介
陈意云,1946年生,教授,博士生导师。1980年毕业于中国科学技术大学,1982年12月在上海华东计算技术研究所获硕士学位。1983年到中国科学技术大学计算机系工作,1989年到美国芝加哥大学访问两年。长期从事程序设计语言理论和实现技术、程序验证、软件安全等方面的研究工作,主持了7项与这些方向有关的国家自然科学基金项目。长期从事“编译原理”和“程序设计语言理论”等课程的教学工作,2007年获安徽省教学名师奖。本书两位作者在编译原理课程系列教材建设方面的工作获2005年安徽省高等教育省级教学成果三等奖。
张昱,1972年生,副教授。1996年毕业于合肥工业大学,获硕士学位;2004年12月毕业于中国科学技术大学,获博士学位。主要从事“数据结构”、“缡译原理”、“程序设计语言理论”等课程的教学工作。主要研究方向是:程序设计语言理论和实现技术,特别是面向新型系统结构的并行语言设计和编译、并行程序分析和验证,即时编译器辅助的垃圾收集技术。
内页插图
目录
第1章 引论
1.1 编译器概述
1.1.1 词法分析
1.1.2 语法分析
1.1.3 语义分析
1.1.4 中间代码生成
1.1.5 代码优化
1.1.6 代码生成
1.1.7 符号表管理
1.1.8 阶段的分组
1.1.9 解释器
1.2 编译器技术的应用
1.2.1 高级语言的实现
1.2.2 针对计算机体系结构的优化
1.2.3 新计算机体系结构的设计
1.2.4 程序翻译
1.2.5 提高软件开发效率的工具
习题1
第2章 词法分析
2.1 词法记号及属性
2.1.1 词法记号、模式、词法单元
2.1.2 词法记号的属性
2.1.3 词法错误
2.2 词法记号的描述与识别
2.2.1 串和语言
2.2.2 正规式
2.2.3 正规定义
2.2.4 状态转换图
2.3 有限自动机
2.3.1 不确定的有限自动机
2.3.2 确定的有限自动机
2.3.3 NFA到DFA的变换
2.3.4 DFA的化简
2.4 从正规式到有限自动机
2.5 词法分析器的生成器
习题2
第3章 语法分析
3.1 上下文无关文法
3.1.1 上下文无关文法的定义
3.1.2 推导
3.1.3 分析树
3.1.4 二义性
3.2 语言和文法
3.2.1 正规式和上下文无关文法的比较
3.2.2 分离词法分析器的理由
3.2.3 验证文法产生的语言
3.2.4 适当的表达式文法
3.2.5 消除二义性
3.2.6 消除左递归
3.2.7 提左因子
3.2.8 非上下文无关的语言构造
3.2.9 形式语言鸟瞰
3.3 自上而下分析
3.3.1 自上而下分析的一般方法
3.3.2 LL(1)文法
3.3.3 递归下降的预测分析
3.3.4 非递归的预测分析
3.3.5 构造预测分析表
3.3.6 预测分析的错误恢复
3.4 自下而上分析
3.4.1 归约
3.4.2 句柄
3.4.3 用栈实现移进一归约分析
3.4.4 移进一归约分析的冲突
3.5 LR分析器
3.5.1 LR分析算法
3.5.2 LR文法和LR分析方法的特点
3.5.3 构造SLR分析表
3.5.4 构造规范的LR分析表
3.5.5 构造LALR分析表
3.5.6 非二义且非LR的上下文无关文法
3.6 二义文法的应用
3.6.1 使用算符的优先级和结合性来解决冲突
3.6.2 使用其他约定来解决冲突
3.6.3 LR分析的错误恢复
3.7 语法分析器的生成器
3.7.1 分析器的生成器Yacc
3.7.2 用Yacc处理二义文法
3.7.3 Yace的错误恢复
习题3
第4章 语法制导的翻译
4.1 语法制导的定义
4.1.1 语法制导定义的形式
4.1.2 综合属性
4.1.3 继承属性
4.1.4 属性依赖图
4.1.5 属性计算次序
4.2 S属性定义的自下而上计算
4.2.1 语法树
4.2.2 构造语法树的语法制导定义
4.2.3 S属性的自下而上计算
4.3 L属性定义的自上而下计算
4.3.1 L属性定义
4.3.2 翻译方案
4.3.3 预测翻译器的设计
4.3.4 用综合属性代替继承属性
4.4 L属性的自下而上计算
4.4.1 删除翻译方案中嵌入的动作
4.4.2 分析栈上的继承属性
4.4.3 模拟继承属性的计算
习题4
第5章 类型检查
5.1 类型在编程语言中的作用
5.1.1 执行错误和安全语言
5.1.2 类型化语言和类型系统
5.1.3 类型化语言的优点
5.2 类型系统的描述语言
5.2.1 定型断言
5.2.2 定型规则
5.2.3 类型检查和类型推断
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.5.1 类型表达式的结构等价
5.5.2 类型表达式的名字等价
……
第6章 运行时存储空间的组织和管理
第7章 中间代码生成
第8章 代码生成
第9章 独立于机器的优化
第10章 依赖于机器的优化
第11章 编译系统和运行时系统
第12章 面向对象语言的编译
第13章 函数式语言的编译
编译原理(第3版)/“十二五”普通高等教育本科国家级规划教材 epub pdf mobi txt 电子书 下载 2024
编译原理(第3版)/“十二五”普通高等教育本科国家级规划教材 下载 epub mobi pdf txt 电子书 2024