编译原理

编译原理
9.5
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美]
出版社: 机械工业出版社
2009-05
版次: 2
ISBN: 9787111269298
定价: 55.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 412页
正文语种: 简体中文
  •   《编译原理》是编译原理课程方面的经典教材,全面、深入地探讨了编译器设计方面的重要主题,包括词法分析、语法分析、语法制导定义和语法制导翻译、运行时刻环境、目标代码生成、代码优化技术、并行性检测以及过程间分析技术,并在相关章节中给出大量的实例。与上一版相比,本书进行了全面修订,涵盖了编译器开发方面最新进展。每章中都提供了大量的实例及参考文献。
      本书基于该书第2版进行改编,内容更加精练和实用,体系更加符合国内教学情况,适合作为高等院校计算机及相关专业本科生的编译原理课程的教材,也是广大研究人员和技术人员的极佳参考读物。
      本书是编译领域无可替代的经典著作,被广大计算机专业人士誉为“龙书”。本书上一版自1986年出版以来,被世界各地的著名高等院校和研究机构(包括美国哥伦比亚大学。斯坦福大学、哈佛大学、普林斯顿大学。贝尔实验室)作为本科生和研究生的编译原理课程的教材。该书对我国高等计算机教育领域也产生了重大影响。
      第2版对每一章都进行了全面的修订,以反映自上一版出版20多年来软件工程、程序设计语言和计算机体系结构方面的发展对编译技术的影响。第2版全面介绍了编译器的设计,并强调编译技术在软件设计和开发中的广泛应用。每章中都包含大量的习题和丰富的参考文献。
      本书基于该书第2版进行改编,保留其中的基本内容,压缩或删除了一些高级内容,更适合作为国内高校计算机及相关专业本科生编译原理课程教材。   AlfredV.Aho,博士是哥伦比亚大学计算机科学系主管本科生教学的副主任,tEEEFe,10w,美国科学与艺术学院及国家工程学院院士,曾获得IEEE的冯·诺伊曼奖。他是《编译原理》(Compiler:Principles,Techniques,andTools)的第一作者。他目前的研究方向为量子计算、程式设计语言.编译器和算法等。
      RaviSethi,Avaya实验室总裁,曾任贝尔实验室高级副总裁和LucentTechnologies通信软件的CTO。他曾在宾夕法尼亚州立大学,亚利桑那州立大学和普林斯顿大学任教,是ACM会士。
      MonicaS.Lam,斯坦福大学计算机科学系教授,曾任Tensilica的首席科学家,也是Moka5的首任CEO。曾经主持SUIF项目,该项目产生了最流行的研究用编译器之一。 出版者的话
    改编者序
    前言
    第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.2.8将多个步骤组合成趟
    1.2.9编译器构造工具
    1.3程序设计语言的发展历程
    1.3.1走向高级程序设计语言
    1.3.2对编译器的影响
    1.3.31.3节的练习
    1.4构建一个编译器的相关科学
    1.4.1编译器设计和实现中的建模
    1.4.2代码优化的科学
    1.5编译技术的应用
    1.5.1高级程序设计语言的实现
    1.5.2针对计算机体系结构的优化
    1.5.3新计算机体系结构的设计
    1.5.4程序翻译
    1.5.5软件生产率工具
    1.6程序设计语言基础
    1.6.1静态和动态的区别
    1.6.2环境与状态
    1.6.3静态作用域和块结构
    1.6.4显式访问控制
    1.6.5动态作用域
    1.6.6参数传递机制
    1.6.7别名
    1.6.81.6节的练习
    1.7第1章总结
    1.8第1章参考文献

    第2章一个简单的语法制导翻译器
    2.1引言
    2.2语法定义
    2.2.1文法定义
    2.2.2推导
    2.2.3语法分析树
    2.2.4二义性
    2.2.5运算符的结合性
    2.2.6运算符的优先级
    2.2.72.2节的练习
    2.3语法制导翻译
    2.3.1后缀表示
    2.3.2综合属性
    2.3.3简单语法制导定义
    2.3.4树的遍历
    2.3.5翻译方案
    2.3.62.3节的练习
    2.4语法分析
    2.4.1自顶向下分析方法
    2.4.2预测分析法
    2.4.3何时使用产生式
    2.4.4设计一个预测分析器
    2.4.5左递归
    2.4.62.4节的练习
    2.5简单表达式的翻译器
    2.5.1抽象语法和具体语法
    2.5.2调整翻译方案
    2.5.3非终结符号的过程
    2.5.4翻译器的简化
    2.5.5完整的程序
    2.6词法分析
    2.6.1剔除空白和注释
    2.6.2预读
    2.6.3常量
    2.6.4识别关键字和标识符
    2.6.5词法分析器
    2.6.62.6节的练习
    2.7符号表
    2.7.1为每个作用域设置一个符号表
    2.7.2符号表的使用
    2.8生成中间代码
    2.8.1两种中间表示形式
    2.8.2语法树的构造
    2.8.3静态检查
    2.8.4三地址码
    2.8.52.8节的练习
    2.9第2章总结
    2.5.5完整的程序
    2.6词法分析
    2.6.1剔除空白和注释
    2.6.2预读
    2.6.3常量
    2.6.4识别关键字和标识符
    2.6.5词法分析器
    2.6.62.6节的练习
    2.7符号表
    2.7.1为每个作用域设置—个符号表
    2.7.2符号表的使用
    2.8生成中间代码
    2.8.1两种中间表示形式
    2.8.2语法树的构造
    2.8.3静态检查
    2.8.4三地址码
    2.8.52.8节的练习
    2.9第2章总结

    第3章词法分析
    3.1词法分析器的作用
    3.1.1词法分析及语法分析
    3.1.2词法单元、模式和词素
    3.1.3词法单元的属性
    3.1.4词法错误
    3.1.53.1节的练习
    3.2词法单元的规约
    3.2.1串和语言
    3.2.2语言上的运算
    3.2.3正则表达式
    3.2.4正则定义
    3.2.5正则表达式的扩展
    3.2.63.2节的练习
    3.3词法单元的识别
    3.3.1状态转换图
    3.3.2保留字和标识符的识别
    3.3.3完成我们的例子
    3.3.4基于状态转换图的词法分析器的体系结构
    3.3.53.3节的练习
    3.4词法分析器生成工具Lex
    3.4.1Lex的使用
    3.4.2Lex程序的结构
    3.4.3Lex中的冲突解决
    3.4.4向前看运算符
    3.4.53.4节的练习
    3.5有穷自动机
    3.5.1不确定的有穷自动机
    3.5.2转换表
    3.5.3自动机中输入字符串的接受
    3.5.4确定的有穷自动机
    3.5.53.5节的练习
    3.6从正则表达式到自动机
    3.6.1从NFA到DFA的转换
    3.6.2最小化一个DFA的状态数
    3.6.3从正则表达式构造NFA
    3.6.4字符串处理算法的效率
    3.6.53.6节的练习
    3.7词法分析器生成工具的设计
    3.7.1生成的词法分析器的结构
    3.7.2词法分析器使用的DFA
    3.7.3词法分析器的状态最小化
    3.7.4实现向前看运算符
    3.7.53.7节的练习
    3.8第3章总结
    3.9第3章参考文献

    夥4章语法分析
    4.1引论
    4.1.1语法分析器的作用
    4.1.2代表性的文法
    4.1.3语法错误的处理
    4.1.4错误恢复策略
    4.2上下文无关文法
    4.2.1上下文无关文法的正式定义
    4.2.2符号表示的约定
    4.2.3推导
    4.2.4语法分析树和推导
    4.2.5二义性
    4.2.6验证文法生成的语言
    4.2.7上下文无关文法和正则表达式
    4.2.84.2节的练习
    4.3设计文法
    4.3.1词法分析和语法分析
    4.3.2消除二义性
    4.3.3左递归的消除
    4.3.4提取左公因子
    4.3.5非上下文无关语言的构造
    4.3.64.3节的练习
    4.4自顶向下的语法分析
    4.4.1递归下降的语法分析
    4.4.2FIRST和FOLLOW
    4.4.3LL(1)文法
    4.4.4非递归的预测分析
    4.4.5预测分析中的错误恢复
    4.4.64.4节的练习
    4.5自底向上的语法分析
    4.5.1归约
    4.5.2句柄剪枝
    4.5.3移人一归约语法分析技术
    4.5.4移入一归约语法分析中的冲突
    4.5.54.5节的练习
    4.6LR语法分析技术介绍:简单LR技术
    4.6.1为什么使用LR语法分析器
    4.6.2项和LR(0)自动机
    4.6.3LR语法分析算法
    4.6.4构造SLR语法分析表
    4.6.5可行前缀
    4.6.64.6节的练习
    4.7更强大的LR语法分析器
    4.7.1规范LR(1)项
    4.7.2构造LR(1)项集
    4.7.3规范LR(1)语法分析表
    4.7.4构造LALR语法分析表
    4.7.5高效构造LALR语法分析表的方法
    4.7.64.7节的练习
    4.8使用二义性文法
    4.8.1用优先级和结合性解决冲突
    4.8.2“悬空=else”的二义性
    4.8.3LR语法分析中的错误恢复
    4.8.44.8节的练习
    4.9语法分析器生成工具
    4.9.1语法分析器生成工具Yacc
    4.9.2使用带有二义性文法的Yacc规约
    4.9.3用Lex创建Yacc的词法分析器
    4.9.4Yacc中的错误恢复
    4.9.54.9节的练习
    4.10第4章总结
    4.11第4章参考文献

    第5章语法制导的翻译
    第6章中间代码生成
    第7章运行时刻环境
    第8章代码生成
    第9章机器无关优化
    附录一个完整的编译器前端
  • 内容简介:
      《编译原理》是编译原理课程方面的经典教材,全面、深入地探讨了编译器设计方面的重要主题,包括词法分析、语法分析、语法制导定义和语法制导翻译、运行时刻环境、目标代码生成、代码优化技术、并行性检测以及过程间分析技术,并在相关章节中给出大量的实例。与上一版相比,本书进行了全面修订,涵盖了编译器开发方面最新进展。每章中都提供了大量的实例及参考文献。
      本书基于该书第2版进行改编,内容更加精练和实用,体系更加符合国内教学情况,适合作为高等院校计算机及相关专业本科生的编译原理课程的教材,也是广大研究人员和技术人员的极佳参考读物。
      本书是编译领域无可替代的经典著作,被广大计算机专业人士誉为“龙书”。本书上一版自1986年出版以来,被世界各地的著名高等院校和研究机构(包括美国哥伦比亚大学。斯坦福大学、哈佛大学、普林斯顿大学。贝尔实验室)作为本科生和研究生的编译原理课程的教材。该书对我国高等计算机教育领域也产生了重大影响。
      第2版对每一章都进行了全面的修订,以反映自上一版出版20多年来软件工程、程序设计语言和计算机体系结构方面的发展对编译技术的影响。第2版全面介绍了编译器的设计,并强调编译技术在软件设计和开发中的广泛应用。每章中都包含大量的习题和丰富的参考文献。
      本书基于该书第2版进行改编,保留其中的基本内容,压缩或删除了一些高级内容,更适合作为国内高校计算机及相关专业本科生编译原理课程教材。
  • 作者简介:
      AlfredV.Aho,博士是哥伦比亚大学计算机科学系主管本科生教学的副主任,tEEEFe,10w,美国科学与艺术学院及国家工程学院院士,曾获得IEEE的冯·诺伊曼奖。他是《编译原理》(Compiler:Principles,Techniques,andTools)的第一作者。他目前的研究方向为量子计算、程式设计语言.编译器和算法等。
      RaviSethi,Avaya实验室总裁,曾任贝尔实验室高级副总裁和LucentTechnologies通信软件的CTO。他曾在宾夕法尼亚州立大学,亚利桑那州立大学和普林斯顿大学任教,是ACM会士。
      MonicaS.Lam,斯坦福大学计算机科学系教授,曾任Tensilica的首席科学家,也是Moka5的首任CEO。曾经主持SUIF项目,该项目产生了最流行的研究用编译器之一。
  • 目录:
    出版者的话
    改编者序
    前言
    第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.2.8将多个步骤组合成趟
    1.2.9编译器构造工具
    1.3程序设计语言的发展历程
    1.3.1走向高级程序设计语言
    1.3.2对编译器的影响
    1.3.31.3节的练习
    1.4构建一个编译器的相关科学
    1.4.1编译器设计和实现中的建模
    1.4.2代码优化的科学
    1.5编译技术的应用
    1.5.1高级程序设计语言的实现
    1.5.2针对计算机体系结构的优化
    1.5.3新计算机体系结构的设计
    1.5.4程序翻译
    1.5.5软件生产率工具
    1.6程序设计语言基础
    1.6.1静态和动态的区别
    1.6.2环境与状态
    1.6.3静态作用域和块结构
    1.6.4显式访问控制
    1.6.5动态作用域
    1.6.6参数传递机制
    1.6.7别名
    1.6.81.6节的练习
    1.7第1章总结
    1.8第1章参考文献

    第2章一个简单的语法制导翻译器
    2.1引言
    2.2语法定义
    2.2.1文法定义
    2.2.2推导
    2.2.3语法分析树
    2.2.4二义性
    2.2.5运算符的结合性
    2.2.6运算符的优先级
    2.2.72.2节的练习
    2.3语法制导翻译
    2.3.1后缀表示
    2.3.2综合属性
    2.3.3简单语法制导定义
    2.3.4树的遍历
    2.3.5翻译方案
    2.3.62.3节的练习
    2.4语法分析
    2.4.1自顶向下分析方法
    2.4.2预测分析法
    2.4.3何时使用产生式
    2.4.4设计一个预测分析器
    2.4.5左递归
    2.4.62.4节的练习
    2.5简单表达式的翻译器
    2.5.1抽象语法和具体语法
    2.5.2调整翻译方案
    2.5.3非终结符号的过程
    2.5.4翻译器的简化
    2.5.5完整的程序
    2.6词法分析
    2.6.1剔除空白和注释
    2.6.2预读
    2.6.3常量
    2.6.4识别关键字和标识符
    2.6.5词法分析器
    2.6.62.6节的练习
    2.7符号表
    2.7.1为每个作用域设置一个符号表
    2.7.2符号表的使用
    2.8生成中间代码
    2.8.1两种中间表示形式
    2.8.2语法树的构造
    2.8.3静态检查
    2.8.4三地址码
    2.8.52.8节的练习
    2.9第2章总结
    2.5.5完整的程序
    2.6词法分析
    2.6.1剔除空白和注释
    2.6.2预读
    2.6.3常量
    2.6.4识别关键字和标识符
    2.6.5词法分析器
    2.6.62.6节的练习
    2.7符号表
    2.7.1为每个作用域设置—个符号表
    2.7.2符号表的使用
    2.8生成中间代码
    2.8.1两种中间表示形式
    2.8.2语法树的构造
    2.8.3静态检查
    2.8.4三地址码
    2.8.52.8节的练习
    2.9第2章总结

    第3章词法分析
    3.1词法分析器的作用
    3.1.1词法分析及语法分析
    3.1.2词法单元、模式和词素
    3.1.3词法单元的属性
    3.1.4词法错误
    3.1.53.1节的练习
    3.2词法单元的规约
    3.2.1串和语言
    3.2.2语言上的运算
    3.2.3正则表达式
    3.2.4正则定义
    3.2.5正则表达式的扩展
    3.2.63.2节的练习
    3.3词法单元的识别
    3.3.1状态转换图
    3.3.2保留字和标识符的识别
    3.3.3完成我们的例子
    3.3.4基于状态转换图的词法分析器的体系结构
    3.3.53.3节的练习
    3.4词法分析器生成工具Lex
    3.4.1Lex的使用
    3.4.2Lex程序的结构
    3.4.3Lex中的冲突解决
    3.4.4向前看运算符
    3.4.53.4节的练习
    3.5有穷自动机
    3.5.1不确定的有穷自动机
    3.5.2转换表
    3.5.3自动机中输入字符串的接受
    3.5.4确定的有穷自动机
    3.5.53.5节的练习
    3.6从正则表达式到自动机
    3.6.1从NFA到DFA的转换
    3.6.2最小化一个DFA的状态数
    3.6.3从正则表达式构造NFA
    3.6.4字符串处理算法的效率
    3.6.53.6节的练习
    3.7词法分析器生成工具的设计
    3.7.1生成的词法分析器的结构
    3.7.2词法分析器使用的DFA
    3.7.3词法分析器的状态最小化
    3.7.4实现向前看运算符
    3.7.53.7节的练习
    3.8第3章总结
    3.9第3章参考文献

    夥4章语法分析
    4.1引论
    4.1.1语法分析器的作用
    4.1.2代表性的文法
    4.1.3语法错误的处理
    4.1.4错误恢复策略
    4.2上下文无关文法
    4.2.1上下文无关文法的正式定义
    4.2.2符号表示的约定
    4.2.3推导
    4.2.4语法分析树和推导
    4.2.5二义性
    4.2.6验证文法生成的语言
    4.2.7上下文无关文法和正则表达式
    4.2.84.2节的练习
    4.3设计文法
    4.3.1词法分析和语法分析
    4.3.2消除二义性
    4.3.3左递归的消除
    4.3.4提取左公因子
    4.3.5非上下文无关语言的构造
    4.3.64.3节的练习
    4.4自顶向下的语法分析
    4.4.1递归下降的语法分析
    4.4.2FIRST和FOLLOW
    4.4.3LL(1)文法
    4.4.4非递归的预测分析
    4.4.5预测分析中的错误恢复
    4.4.64.4节的练习
    4.5自底向上的语法分析
    4.5.1归约
    4.5.2句柄剪枝
    4.5.3移人一归约语法分析技术
    4.5.4移入一归约语法分析中的冲突
    4.5.54.5节的练习
    4.6LR语法分析技术介绍:简单LR技术
    4.6.1为什么使用LR语法分析器
    4.6.2项和LR(0)自动机
    4.6.3LR语法分析算法
    4.6.4构造SLR语法分析表
    4.6.5可行前缀
    4.6.64.6节的练习
    4.7更强大的LR语法分析器
    4.7.1规范LR(1)项
    4.7.2构造LR(1)项集
    4.7.3规范LR(1)语法分析表
    4.7.4构造LALR语法分析表
    4.7.5高效构造LALR语法分析表的方法
    4.7.64.7节的练习
    4.8使用二义性文法
    4.8.1用优先级和结合性解决冲突
    4.8.2“悬空=else”的二义性
    4.8.3LR语法分析中的错误恢复
    4.8.44.8节的练习
    4.9语法分析器生成工具
    4.9.1语法分析器生成工具Yacc
    4.9.2使用带有二义性文法的Yacc规约
    4.9.3用Lex创建Yacc的词法分析器
    4.9.4Yacc中的错误恢复
    4.9.54.9节的练习
    4.10第4章总结
    4.11第4章参考文献

    第5章语法制导的翻译
    第6章中间代码生成
    第7章运行时刻环境
    第8章代码生成
    第9章机器无关优化
    附录一个完整的编译器前端
查看详情
好书推荐 / 更多
编译原理
传统十论:本土社会的制度、文化与其变革
秦晖 著
编译原理
翁达杰作品系列:英国病人(精装)
[加]迈克尔·翁达杰 著;丁骏 译
编译原理
软件体的生命周期:特德·姜科幻小说集
[美]特德·姜
编译原理
汉唐文学与文献论考
陈尚君 著
编译原理
中国佛学源流略讲
吕澂 著
编译原理
明清稿抄校本鉴定
陈先行、石菲 著
编译原理
瓦檐下的旧器物
黄孝纪
编译原理
索恩丛书·自由的流亡者:永失美国与大英帝国的东山再起(套装全2册)
马娅·亚桑诺夫(Maya Jasanoff) 著;马睿 译
编译原理
维米尔
北寺 译 者;[英]路德维希·戈德沙伊德(Ludwig Goldscheider)
编译原理
做工的人
林立青 著;赖小路 摄影
编译原理
与绝迹之鸟的短暂邂逅
[美]本·方登 著
编译原理
[日]吉田修一 Yoshida Shuichi 著;岳远坤 译