成功加入购物车
图书条目标准图
[美]皮特曼(Pittman T.) 著 / 机械工业出版社 / 2010-01 / 平装
售价 ¥ 20.00 3.6折
定价 ¥55.00
品相 九五品
延迟发货说明
上书时间2026-01-20
卖家超过10天未登录
编译程序设计艺术理论与实践
《编译程序设计艺术理论与实践》详细介绍了编译程序设计中的词法分析(扫描程序)、语法分析(分析程序)、语义分析(约束程序)、中间代码优化以及代码生成等内容。作为颇受好评的编译原理优秀入门教材,《编译程序设计艺术理论与实践》的最大特色是在全书贯穿了一种基于文法的指导思路:在语法分析阶段,该书遵循了一般教材采用的上下文无关文法;在语义分析阶段,采用以上下文无关文法为基础的属性文法;而在代码优化和代码生成阶段,则采用了变换属性文法。书中最后还给出变换属性文法的一种自编译实现。此外,《编译程序设计艺术理论与实践》还探讨了面向不同计算机体系结构的代码生成技术以及非过程式语言的编译问题。
《编译程序设计艺术理论与实践》适合作为高等院校计算机科学与技术、软件工程以及相关专业编译原理课程的教学参考书,同时也可供计算机语言及其处理技术爱好者参考。
出版者的话译者序前言第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自动机的约简3.8将自动机转换为文法3.9左线性文法3.10在计算机上实现有穷状态自动机3.11扫描程序的特殊实现问题3.11.1输入字母表的大小3.11.2扫描程序自动机中的停机状态3.11.3过滤空格与注释3.11.4单词的输出3.12字符串表的实现3.12.1基于线性查找的实现3.12.2基于散列表的实现3.12.3基于查找树的实现3.12.4不同实现的性能比较3.13保留字3.14使用扫描程序生成工具小结符号缩略词关键术语练习复习小测验编译程序实验项目进一步阅读第4章分析程序和上下文无关语言4.1简介4.2下推自动机4.2.1停机条件的等价性4.2.2根据上下文无关文法构造下推自动机4.3LL(k)条件4.3.1First和和Follow集4.3.2选择集4.4左递归4.5公共左因子4.6为上下文无关文法扩展正则表达式运算符4.7使用分析程序生成工具4.7.1使用TAG编译程序4.7.2使用YACC4.8递归下降分析程序4.9递归下降分析程序作为下推自动机小结缩略词关键术语练习复习小测验编译程序实验项目进一步阅读第5章语义分析与属性文法5.1简介5.2属性文法5.2.1继承属性和综合属性5.2.2属性值流5.3非终结符作为属性求值函数5.4符号表作为属性5.5Micro-Modula的属性文法5.6在TAG编译程序中使用属性5.7作用域与标识符类别5.7.1标识符作用域的文法5.7.2标识符作用域例子分析5.7.3符号表的其他问题5.8在递归下降中实现属性5.9实现符号表小结符号关键术语练习复习小测验编译程序实验项目进一步阅读第6章语法制导代码生成6.1简介6.2计算机硬件体系结构6.3栈机器的表达式求值6.4IttyBitty栈机器6.5带属性的代码生成6.5.1运算符优先级与结合性质6.5.2程序结构的语义6.5.3向前分支问题6.6过程和函数的代码生成6.7块结构的栈帧管理6.7.1帧与帧指针6.7.2静态链与动态链6.7.3帧指针的Display向量6.8其他数据类型6.9结构化数据类型6.9.1指针类型6.9.2记录结构6.9.3数组的语义6.10其他数据结构6.11IttyBitty栈机器的输入和输出6.12语法制导语义的局限6.13手工编写编译程序的代码生成6.14语法制导语义的应用6.14.1TinyBASIC解释程序6.14.2Micro-Modula美化打印工具小结关键术语练习复习小测验编译程序实验项目进一步阅读第7章自底向上分析程序的自动化设计7.1简介7.2LR(k)分析程序7.2.1构造LR(k)状态机7.2.2一个LR(2)分析程序7.2.3归约与移进操作7.3冲突7.4例子:文法G2的冲突解析7.5在栈中保存状态7.6其他LR(k)分析程序:SLR7.7LALR(k)分析程序7.8自底向上分析程序的实现7.9出错恢复7.10LR分析程序中的属性求值小结关键术语练习复习小测验编译程序实验项目进一步阅读第8章变换属性文法8.1简介8.2程序的树表示8.3树变换文法8.3.1非生成的文法8.3.2一个TAG例子8.3.3求值次序8.3.4信息流与存储8.3.5带树值的属性8.3.6不确定的分析8.4.组合串文法与树文法8.5TAG中的类型检查8.6基于变换的代码优化8.6.1数据流分析8.6.2数据流分析中使用属性文法8.7中间代码树表示的替代方案8.7.1四元式的数据流8.7.2循环的数据流分析8.8实用优化变换综述8.8.1模拟执行优化的类别8.8.2常量折叠分析8.8.3使用值编号检测公共子表达式8.8.4左移动提升8.8.5右移动提升8.8.6无用代码以及其他从右到左的数据流分析8.8.7数学等式与代码选择8.8.8循环结构分析8.9实现抽象语法树8.10实现TAG驱动的树变换小结符号缩略词关键术语练习复习小测验编译程序实验项目进一步阅读第9章代码生成与优化9.1简介9.2循环优化9.2.1循环的范围分析9.2.2归纳变量9.2.3循环展开9.3寄存器与内存分配9.3.1寄存器分配算法9.3.2表达式中的寄存器分配9.3.3更好的寄存器分配数据流分析9.3.4循环的寄存器分配9.3.5寻址模式9.3.6分支寻址选择9.3.7分支链9.4代码生成的复杂性9.4.1指令选择9.4.2强度削弱9.5专用指令9.5.1RISC和流水线处理器调度9.5.2向量处理器9.6代码优化的变形9.6.1代码优化的分类9.6.2窥孔优化小结缩略词关键术语练习复习小测验编译程序实验项目进一步阅读第10章非过程式语言10.1简介10.2应用式语言的编译10.2.1Lisp语言的一些概念10.2.2尾递归10.2.3实现一个应用式语言的编译程序10.3变换属性文法的编译程序10.3.1TAG编译程序的组成部分10.3.2文法中的迭代运算符10.3.3向用户报告语法错误10.3.4自动构造扫描程序10.3.5TAG编译程序的语法分析10.3.6树变换10.3.7语法错误停机小结关键术语练习复习小测验进一步阅读附录AIttyBittyModula语法图附录BTAG编译程序的TAG附录CIttyBitty栈机器的指令集附录D四种计算机的代码生成表
展开全部
配送说明
...
相似商品
为你推荐
开播时间:09月02日 10:30