• 现代编译程序设计ModernCompilerDesign中文版:Modern Compiler Design
  • 现代编译程序设计ModernCompilerDesign中文版:Modern Compiler Design
  • 现代编译程序设计ModernCompilerDesign中文版:Modern Compiler Design
  • 现代编译程序设计ModernCompilerDesign中文版:Modern Compiler Design
  • 现代编译程序设计ModernCompilerDesign中文版:Modern Compiler Design
  • 现代编译程序设计ModernCompilerDesign中文版:Modern Compiler Design
21年品牌 40万+商家 超1.5亿件商品

现代编译程序设计ModernCompilerDesign中文版:Modern Compiler Design

40 6.9折 58 八五品

仅1件

上海奉贤
认证卖家担保交易快速发货售后保障

作者[荷]格伦 著;冯博琴 译

出版社人民邮电出版社

出版时间2003-09

版次1

装帧平装

货号8-4

上书时间2023-03-28

馨雅名画

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:八五品
图书标准信息
  • 作者 [荷]格伦 著;冯博琴 译
  • 出版社 人民邮电出版社
  • 出版时间 2003-09
  • 版次 1
  • ISBN 9787115111494
  • 定价 58.00元
  • 装帧 平装
  • 开本 16开
  • 纸张 胶版纸
  • 页数 548页
  • 字数 863千字
  • 正文语种 简体中文
【内容简介】
《现代编译程序设计》全面地介绍了现代编译技术,结构上分为通用编译技术和高级编译技术两大部分。第一部分介绍通用的编译程序实现技术,包括词法和语法分析、上下文处理、代码生成以及存储器管理的一般方法。第二部分介绍特定范型语言的高级编译技术,包括命令式语言、面向对象语言、逻辑式语言、函数式语言及并行/分布式语言的上下文处理和代码生成等内容。《现代编译程序设计》注重编译程序的具体实现和优化技术,实例丰富,具有很强的可读性和实用性。
《现代编译程序设计》可作为高校计算机专业本科和研究生编译程序设计课程的教科书,也可供从事计算机软件开发的人员参考。
【目录】
第1章导论1
1.1为什么学习编译程序构造4
1.1.1编译程序构造是非常成功的4
1.1.2编译程序构造的广泛应用6
1.1.3编译程序包含普遍适用的算法6
1.2一个简单的传统的模块化编译程序/解释程序6
1.2.1抽象语法树7
1.2.2范例编译程序的结构8
1.2.3范例编译程序的语言9
1.2.4范例编译程序的词法分析10
1.2.5范例编译程序的语法分析11
1.2.6范例编译程序的上下文处理14
1.2.7范例编译程序的代码生成14
1.2.8范例编译程序的解释程序15
1.3一个更接近于实际的编译程序的结构16
1.3.1结构17
1.3.2运行时系统18
1.3.3捷径18
1.4编译程序体系结构18
1.4.1编译程序的宽度19
1.4.2谁主控20
1.5一个优秀编译程序的特性22
1.6可移植性和可重定目标性23
1.7优化的位置和效用23
1.8编译程序构造简史24
1.8.11945~1960年:代码生成24
1.8.21960~1975年:分析24
1.8.31975年至今:代码生成和代码优化;范型24
1.9文法25
1.9.1文法形式25
1.9.2产生式过程25
1.9.3文法的扩展形式27
1.9.4文法特性27
1.9.5文法形式化方法28
1.10闭包算法29
1.10.1闭包算法的迭代实现31
1.11本书使用的概要代码33
1.12小结33

第2章从程序文本到抽象语法树38
2.1从程序文本到记号——词法结构41
2.1.1读程序文本41
2.1.2词法分析与语法分析42
2.1.3正则表达式和正则描述43
2.1.4词法分析44
2.1.5手动产生词法分析程序45
2.1.6自动产生词法分析程序50
2.1.7转换表压缩63
2.1.8词法分析程序的错误处理68
2.1.9一个传统的词法分析程序产生器——lex69
2.1.10记号的词法识别70
2.1.11符号表72
2.1.12宏处理和文件包含76
2.1.13小结80
2.2从记号到语法树——语法分析81
2.2.1语法分析的两种方法82
2.2.2错误检测和错误恢复84
2.2.3手工生成一个自顶向下的语法分析程序86
2.2.4自动生成一个自顶向下的语法分析程序88
2.2.5自动创建一个自底向上的语法分析程序111
2.3小结132

第3章注释抽象语法树——上下文142
3.1属性文法143
3.1.1依赖图146
3.1.2属性计算147
3.1.3循环处理153
3.1.4属性分配158
3.1.5多次访问属性文法158
3.1.6属性文法类型的总结167
3.1.7L-属性文法167
3.1.8S-属性文法170
3.1.9L-属性文法与S-属性文法的等价性171
3.1.10扩展的文法符号和属性文法172
3.1.11小结173
3.2手工方法173
3.2.1线性化AST174
3.2.2符号解释178
3.2.3数据流方程184
3.2.4过程间的数据流分析188
3.2.5上传信息流——活跃分析189
3.2.6符号解释和数据流方程的比较194
3.3小结194

第4章处理中间代码202
4.1解释203
4.1.1递归解释203
4.1.2迭代解释207
4.2代码生成210
4.2.1避免完全的代码生成213
4.2.2开始点214
4.2.3直接代码生成214
4.2.4简单代码生成218
4.2.5基本块的代码生成230
4.2.6BURS代码生成和动态程序设计241
4.2.7通过图着色的寄存器分配255
4.2.8超级编译259
4.2.9代码生成技术的评价261
4.2.10代码优化器的调试261
4.2.11预处理中间代码262
4.2.12后处理目标代码265
4.2.13机器代码生成267
4.3汇编程序、连接程序和装入程序268
4.3.1汇编程序设计问题270
4.3.2连接程序设计问题272
4.4小结273

第5章存储管理283
5.1显式回收的数据空间分配284
5.1.1基本存储空间分配285
5.1.2链表288
5.1.3可扩展数组290
5.2隐式回收的数据空间分配291
5.2.1基本垃圾收集算法291
5.2.2背景预备292
5.2.3引用计数297
5.2.4标记和扫描300
5.2.5两空间复制303
5.2.6紧缩306
5.2.7世代垃圾收集307
5.3小结307

第6章命令式和面向对象程序313
6.1上下文处理314
6.1.1识别315
6.1.2类型检查321
6.1.3小结328
6.2源语言数据表示和处理328
6.2.1基本类型329
6.2.2枚举类型329
6.2.3指针类型329
6.2.4记录类型332
6.2.5共用体类型333
6.2.6数组类型334
6.2.7集合类型336
6.2.8例程类型336
6.2.9对象类型337
6.2.10接口类型344
6.3例程及其活动345
6.3.1活动记录345
6.3.2例程347
6.3.3例程上的操作348
6.3.4非嵌套例程350
6.3.5嵌套例程352
6.3.6Lambda提升357
6.3.7迭代器和协作例程358
6.4控制流语句的代码生成359
6.4.1局部控制流359
6.4.2例程调用366
6.4.3运行时错误处理372
6.5模块的代码生成374
6.5.1名字生成375
6.5.2模块初始化375
6.5.3泛型的代码生成376
6.6小结377

第7章函数式程序386
7.1Haskell简介387
7.1.1越位规则387
7.1.2列表388
7.1.3列表内涵388
7.1.4模式匹配389
7.1.5多态类型390
7.1.6引用透明性391
7.1.7高阶函数391
7.1.8惰性计算392
7.2编译函数式语言393
7.2.1函数核394
7.3多态类型检查395
7.3.1多态函数应用396
7.4脱糖397
7.4.1列表的翻译397
7.4.2模式匹配的翻译397
7.4.3列表内涵的翻译399
7.4.4嵌套函数的翻译401
7.5图归约402
7.5.1归约顺序405
7.5.2归约引擎406
7.6函数核程序的代码生成409
7.6.1避免一些应用框架的构造411
7.7优化函数核412
7.7.1严格性分析413
7.7.2装箱分析417
7.7.3尾部调用417
7.7.4累加器转换419
7.7.5局限性420
7.8高级图处理421
7.8.1可变长度结点421
7.8.2指针标记421
7.8.3聚集结点分配421
7.8.4向量应用结点422
7.9小结422

第8章逻辑式程序427
8.1逻辑式程序设计模型428
8.1.1构建模块428
8.1.2推理机制430
8.2解释的通用实现模型431
8.2.1解释程序指令432
8.2.2避免冗余目标列表434
8.2.3避免复制目标列表尾部434
8.3合一435
8.3.1结构、列表和集合的合一435
8.3.2合一的实现437
8.3.3两个自由变量的合一440
8.3.4小结441
8.4编译的通用实现模型441
8.4.1列表程序442
8.4.2编译子句的搜索和合一444
8.4.3WAM中的优化子句选择448
8.4.4应用“cut”机制450
8.4.5谓词assert和retract的实现452
8.5合一的编译代码455
8.5.1WAM中的合一指令456
8.5.2通过手工局部计算得到合一指令457
8.5.3WAM中的结构合一462
8.5.4一种优化:读/写模式464
8.5.5WAM中合一结构的进一步优化466
8.5.6小结467

第9章并行和分布式程序472
9.1并行程序设计模型474
9.1.1共享变量和管程474
9.1.2消息传递模型476
9.1.3面向对象语言477
9.1.4Linda元组空间477
9.1.5数据并行语言478
9.2进程和线程479
9.3共享变量481
9.3.1锁481
9.3.2管程481
9.4消息传递482
9.4.1接收方定位483
9.4.2编组483
9.4.3消息的类型检查484
9.4.4消息选择484
9.5并行的面向对象语言485
9.5.1对象定位485
9.5.2对象迁移486
9.5.3对象复制487
9.6元组空间488
9.6.1避免关联寻址的开销488
9.6.2元组空间的分布实现490
9.7自动并行492
9.7.1自动地使用并行性492
9.7.2数据依赖494
9.7.3循环转换495
9.7.4分布式存储器的自动并行496
9.8小结498
附录A一个简单的面向对象编译程序/解释程序502
附录B练习答案509
附录C参考文献519
附录D术语表527
点击展开 点击收起

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP