4.23文创礼盒,买2个减5元 读书月福利
欢迎光临中图网 请 | 注册
> >
编译原理及实现技术-第2版

编译原理及实现技术-第2版

作者:刘磊
出版社:机械工业出版社出版时间:2010-08-01
开本: 16开 页数: 184页
中 图 价:¥16.1(7.0折) 定价  ¥23.0 登录后可看到会员价
暂时缺货 收藏
运费6元,满69元免运费
?快递不能达地区使用邮政小包,运费14元起
云南、广西、海南、新疆、青海、西藏六省,部分地区快递不可达
本类五星书更多>

编译原理及实现技术-第2版 版权信息

  • ISBN:9787111312611
  • 条形码:9787111312611 ; 978-7-111-31261-1
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 所属分类:>

编译原理及实现技术-第2版 本书特色

《编译原理及实现技术(第2版)》是普通高等教育“十一五”国家级规划教材,普通高等教育“十一五”计算机类规划教材。

编译原理及实现技术-第2版 内容简介

编译原理是计算机学科的一门重要专业基础课。《编译原理及实现技术(第2版)》旨在介绍编译程序设计的基本原理、实现技术、方法和工具,充分考虑了教师便于教学,学生便于自学的问题。在介绍基本原理和实现技术中,注重循序渐进、深入浅出,每一章节都提供了编译程序实现的具体实例,每章末尾给出了丰富的习题以辅助学生更好地掌握编译过程。 《编译原理及实现技术(第2版)》包含了编译程序设计的基础理论和具体实现技术,主要内容有:形式语言和自动机理论、词法分析、语法分析、语义分析、中间代码生成、中间代码优化和目标代码生成等编译过程。 《编译原理及实现技术(第2版)》可作为大专院校计算机专业本科生教材,也可作为计算机工程技术人员的参考书。

编译原理及实现技术-第2版 目录

前言第1章 编译引论1.1 程序设计语言和编译程序1.2 编译程序的结构1.2.1 编译程序的构成1.2.2 遍1.2.3 编译程序的前端和后端1.3 编译程序和程序设计环境1.4 编译程序的实现习题1第2章 形式语言与自动机理论基础2.1 基本概念2.2 文法2.2.1 文法的定义2.2.2 文法分类2.2.3 推导和归约2.2.4 语法树与文法二义性2.2.5 文法等价变换2.3 有限自动机(FA)2.3.1 确定有限自动机2.3.2 非确定有限自动机2.3.3 DFA与NFA的等价2.3.4 DFA的化简2.4 正则表达式2.4.1 正则表达式与正则集2.4.2 正则表达式与有限自动机的相互转换习题2第3章 词法分析3.1 词法分析介绍3.1.1 词法分析程序的功能3.1.2 词法分析程序的接口3.2 词法分析程序设计3.2.1 单词分类3.2.2 单词的内部表示3.2.3 单词的形式描述3.2.4 自动机的实现3.3 词法分析程序的实现3.3.1 实现词法分析程序应注意的问题3.3.2 单词结构3.3.3 实现算法3.4 词法分析程序自动生成3.4.1 LEX简介3.4.2 LEX工作原理3.4.3 LEX源文件结构3.4.4 LEX系统中的正则式3.4.5 LEX的使用方式3.4.6 应用实例习题3第4章 语法分析——自顶向下分析方法4.1 语法分析程序介绍4.1.1 语法分析程序的功能4.1.2 语法错误类别及错误处理4.1.3 自顶向下语法分析基本思想4.1.4 3个重要的集合4.1.5 自顶向下语法分析条件4.2 递归下降法4.2.1 递归下降法语法分析原理4.2.2 递归下降法语法分析程序的构造4.3 LL(1)分析方法4.3.1 LL(1)分析法原理4.3.2 LL(1)分析表的构造4.3.3 LI.(1)驱动程序的构造4.4 自顶向下分析程序的自动生成习题4第5章 语法分析——自底向上分析方法5.1 自底向上语法分析方法介绍5.2 简单优先分析5.2.1 简单优先文法及其优先关系矩阵的构造5.2.2 简单优先分析算法5.3 LR分析法5.3.1 LR类分析法的工作过程5.3.2 LR(O)分析方法5.3.3 SLR(1)分析方法5.3.4 LR(1)分析方法5.3.5 LALR(1)分析方法5.3.6 LR方法小结5.4 自底向上分析程序的自动生成习题5第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.3 符号表的管理6.3.1 符号表的建立与访问6.3.2 符号表的组织6.3.3 符号表的局部化处理6.4 程序设计语言符号表的实例6.4.1 Pascal的符号表6.4.2 C的符号表习题6第7章 中间代码生成7.1 常用的中间代码结构7.1.1 后缀式7.1.2 抽象语法树和DAG7.1.3 三地址中间代码7.2 语法制导方法概论7.3 类型检查和类型转换7.4 中间代码生成中的几个问题7.4.1 语义信息的获取和保存7.4.2 语义栈Sem及其操作7.4.3 常用的语义子程序7.5 表达式的中间代码生成7.6 下标变量的中间代码生成7.6.1 下标变量的地址7.6.2 下标变量的四元式结构7.6.3 下标变量的中间代码生成过程7.6.4 下标变量中间代码生成实例7.7 赋值语句的中间代码7.8 过程调用和函数调用的中间代码7.9 控制语句的中间代码生成7.9.1 goto语句和标号定位的中间代码7.9.2 条件语句的中间代码7.9.3 while语句的中间代码7.10 过程/函数声明的中间代码生成习题7第8章 中间代码优化8.1 优化方法概述8.2 基本块划分8.3 常量表达式局部优化8.4 公共表达式局部优化8.5 循环不变式外提8.5.1 循环不变式外提概述8.5.2 循环不变式外提原理8.6 其他各类优化介绍习题8第9章 运行时存储空间的组织与管理9.1 目标程序运行时的存储结构9.1.1 目标程序运行时内存的划分9.1.2 目标程序运行时的存储分配策略9.2 过程活动记录和运行时栈9.2.1 过程活动记录9.2.2 过程活动记录的申请和释放9.3 变量访问环境9.3.1 变量访问环境概述9.3.2 Display表方法9.3.3 静态链方法习题9第10章 目标代码生成10.1 目标代码生成介绍10.1.1 代码生成器的输入和输出10.1.2 指令选择10.2 虚拟机10.3 寄存器的分配10.3.1 单寄存器机器的寄存器分配10.3.2 多寄存器机器的寄存器分配10.4 四元式到目标代码的翻译10.4.1 表达式四元式的翻译10.4.2 赋值语句四元式的翻译10.4.3 输入输出语句四元式的翻译10.4.4 条件语句四元式的翻译10.4.5 循环语句四元式的翻译10.4.6 标号语句四元式和goto语句四元式的翻译10.4.7 过程、函数说明语句四元式的翻译10.4.8 过程和函数调用语句四元式的翻译习题10参考文献
展开全部

编译原理及实现技术-第2版 节选

编译原理是计算机学科的一门重要专业基础课。《编译原理及实现技术(第2版)》旨在介绍编译程序设计的基本原理、实现技术、方法和工具,充分考虑了教师便于教学,学生便于自学的问题。在介绍基本原理和实现技术中,注重循序渐进、深入浅出,每一章节都提供了编译程序实现的具体实例,每章末尾给出了丰富的习题以辅助学生更好地掌握编译过程。《编译原理及实现技术(第2版)》包含了编译程序设计的基础理论和具体实现技术,主要内容有:形式语言和自动机理论、词法分析、语法分析、语义分析、中间代码生成、中间代码优化和目标代码生成等编译过程。《编译原理及实现技术(第2版)》可作为大专院校计算机专业本科生教材,也可作为计算机工程技术人员的参考书。

编译原理及实现技术-第2版 相关资料

插图:2.语法分析阶段语法分析的任务是根据程序设计语言的语法规则,把词法分析的结果分解成各种语法单位,同时检查程序中的语法错误。语法分析的扫描对象有两种可能:一种是将词法分析程序作为独立的一遍运行,扫描整个源程序的ASCII码序列,将之转换为TOKEN序列,输出到一个中间文件,该文件作为语法分析程序的扫描对象继续编译的过程;更一般的情况是将词法分析程序设计成一个子程序,每当语法分析程序需要读取单词时,则调用该子程序。这种设计方案中,词法分析程序和语法分析程序处于同一遍,可以省去中间文件。3.语义分析阶段这一阶段的任务是对语法分析所识别出的各类语法范畴,分析其含义,并进行静态语义检查。例如,变量是否定义、类型是否匹配等。这一阶段所依循的是语言的语义规则。通常使用属性文法描述语义规则。4.中间代码生成在进行了上述的语法分析和语义分析阶段的工作后,有些编译程序将源程序变成一种内部表示形式,这种内部表示形式叫做中间代码。使用中间代码的主要好处是便于移植、便于修改、便于优化。这种中间代码的形式有很多种,常见的有后缀式(栈式)中间代码、三地址中间代码(三元式和四元式)、图结构中间代码(树,DAG)。其中,后缀式中间代码是最早使用的一种中间代码,现在很少使用,目前使用的主要是后两种。5.中间代码优化此阶段的任务是对前阶段产生的中间代码在不改变源程序语义的前提下进行加工变换,使生成的代码更为高效,缩短运行时间或节省存储空间。主要的优化方式包括常量表达式优化、公共子表达式优化、不变表达式的循环外提和削减运算强度等。6.目标代码生成这一阶段的任务是把中间代码变换成特定机器上的机器指令代码或汇编指令代码。这是编译的最后阶段,因为目标语言的关系而十分依赖于硬件系统。如何充分利用寄存器、合理选择指令、生成尽可能短而有效的目标代码,都与目标机的结构有关。生成的目标代码如果是汇编指令代码,则需经由汇编程序处理后才能执行;生成的目标代码如果是绝对指令代码,则可直接投入运行;如果是可重定位的指令代码,那么目标代码只是一个代码模块,必须由连接装配程序将输入/输出模块、标准函数等系统模块与目标代码模块连接在一起,才能形成一个绝对指令代码程序以供执行。大多数现代实用的编译程序生成的目标代码都是这种可重定位的指令代码。

商品评论(0条)
暂无评论……
书友推荐
本类畅销
编辑推荐
返回顶部
中图网
在线客服