编译程序设计艺术理论与实践
分類: 图书,计算机/网络,程序设计,其他,
作者: (美)皮特曼(Pittman,T.),皮特斯(Peters,J.)著
出 版 社: 机械工业出版社
出版时间: 2010-1-1字数:版次: 1页数: 341印刷时间: 2010-1-1开本: 16开印次: 1纸张: 胶版纸I S B N : 9787111288107包装: 平装编辑推荐
●坚定不移地扎根于文法,一开始就介绍文法和语言识别器之间的理论关系,然后贯穿全书将文法技术应用到编译程序设计的每一方面。
●统一将实用的属性文法作为编译程序语义的载体,坚持这一立场自然会产生一个完全由属性文法定义的、可编译其自身的“编译程序一编译程序”。
●具有非常实用豹特征,编译程序的“设计”必须以属性文法定义,而编译程序的“构造”则需要可执行的代码,并且每一个重要的理论原则均需通过一种真实程序设计语言的大量代码清单加以阐明,不断展示文法与机器代码之间极其自然的关系。
●选择Modula-2作为演示代码的程序设计语言.旨在概念抽象与具体效率之间取得平衡。
内容简介
本书详细介绍了编译程序设计中的词法分析(扫描程序)、语法分析(分析程序)、语义分析(约
束程序)、中间代码优化以及代码生成等内容。作为颇受好评的编译原理优秀入门教材,本书的最大特
色是在全书贯穿了一种基于文法的指导思路:在语法分析阶段,该书遵循了一般教材采用的上下文无关
文法;在语义分析阶段,采用以上下文无关文法为基础的属性文法;而在代码优化和代码生成阶段,则
采用了变换属性文法。书中最后还给出变换属性文法的一种自编译实现。此外,本书还探讨了面向不同
计算机体系结构的代码生成技术以及非过程式语言的编译问题。
本书适合作为高等院校计算机科学与技术、软件工程以及相关专业编译原理课程的教学参考书,同
时也可供计算机语言及其处理技术爱好者参考。
目录
出版者的话
译者序
前言
第1章 编译程序理论概述
1.1 简介
1.2语言与翻译程序
1.3文法的作用
1.4若干例子
1.5编译程序的结构
1.5.1词法分析
1.5.2字符串表
1.5.3语法分析
1.5.4约束
1.5.5符号表
1.5.6代码生成
1.5.7优化
符号
缩略词
关键术语
练习
复习小测验
编译程序实验项目
进一步阅读
第2章 文法:乔姆斯基层次
2.1 简介
2.2 文法
2.2.1字母表与串
2.2.2非终结符与产生式
2.2.3若干文法例子
2.3乔姆斯基层次
2.4文法及其机器
2.4.1 图灵机
2.4.2线性有界自动机
2.4.3下推自动机
2.4.4删除空产生式
2.4.5 比较上下文无关文法和上下文敏感文法
2.4.6有穷状态自动机
2.5空串与空语言
2.6规范推导
2.7二义性
2.8文法思维的艺术
2.8.1有穷状态自动机的局限性
2.8.2上下文无关文法的计数
2.8.3对上下文敏感
小结
符号
缩略词
关键术语
练习
复习小测验
编译程序实验项目
进一步阅读
第3章 扫描程序和正则语言
3.1词法分析简介
3.2正则表达式
3.2.1 正则表达式代数
3.2.2 正则表达式的形式化特性
3.3文法与正则表达式的转换
3.4有穷状态自动机
3.5不确定的有穷状态自动机
3.6将文法转换为自动机
3.7 自动机的转换
3.7.1删除空环路
3.7.2删除空变迁
3.7.3 自动机的确定化
3.7.4 自动机的约简
……
第4章分析程序和上下文无关语言
第5章语义分析与属性文法
第6章语法制导代码生成
第7章自底向上分析程序的自动化设计
第8章变换属性文法
第9章代码生成与优化
第10章非过程式语言
附录AItty Bitty Modula语法图
附录BTAG编译程序的TAG
附录CItty Bitty线机器的指令集
附录D四种计算机的代码生成表