编程语言实现模式

编程语言实现模式

Author
Terence Parr
Publisher
华中科技大学出版社
Language
Chinese
Year
2012
Page
388
ISBN
7560977006,9787560977003
File Type
pdf
File Size
28.1 MiB

《编程语言实现模式》旨在传授开发语言应用(工具)的经验和理念,帮助读者构建自己的语言应用。这里的语言应用并非特指用编译器或解释器实现编程语言,而是泛指任何处理、分析、翻译输入文件的程序,比如配置文件读取器、数据读取器、模型驱动的代码生成器、源码到源码的翻译器、源码分析工具、解释器,以及诸如此类的工具。为此,作者举例讲解已有语言应用的工作机制,拆解、归纳出31种易于理解且常用的设计模式(每种都包括通用数据结构、算法、策略)。虽然示例是用Java编写的,但相信读者可以触类旁通,利用这些设计模式构建针对其他编程语言(既包括特定领域语言,也包括通用编程语言)的应用。虽然《编程语言实现模式》不专门讨论如何设计编程语言,但读者在阅读的过程中将吸收丰富的相关知识。比较不同编程语言的特点、了解编程语言的发展历史是学习设计编程语言的好途径。第1部分读取输入第1章初探语言应用1.1大局观1.2模式概览1.3深入浅出语言应用1.4为语言应用选择合适的模式第2章基本解析模式2.1识别式子的结构2.2构建递归下降语法解析器2.3使用文法DSL来构建语法解析器2.4词法单元和句子第3章高阶解析模式3.1利用任意多的向前看符号进行解析3.2记忆式解析3.3采用语义信息指导解析过程第2部分分析输入第4章从语法树构建中间表示4.1为什么要构建树4.2构建抽象语法树4.3简要介绍ANTLR4.4使用ANTLR文法构建AST第5章遍历并改写树形结构5.1遍历树以及访问顺序5.2封装访问节点的代码5.3根据文法自动生成访问者5.4将遍历与匹配解耦第6章记录并识别程序中的符号6.1收集程序实体的信息6.2根据作用域划分符号6.3解析符号第7章管理数据聚集的符号表7.1为结构体构建作用域树7.2为类构建作用域树第8章静态类型检查第3部分解释执行第9章构建高级解释器9.1高级解释器存储系统的设计9.2高级解释器中的符号记录9.3处理指令第10章构建字节码解释器10.1设计字节码解释器10.2定义汇编语言语法10.3字节码机器的架构10.4如何深入第4部分生成输出第11章语言的翻译11.1语法制导的翻译11.2基于规则的翻译11.3模型驱动的翻译11.4创建嵌套的输出模型第12章使用模板生成DSL12.1熟悉StringTemplate12.2StringTemplate的性质12.2从一个简单的输入模型生成模板12.4在输入模型不同的情况下复用模板12.5使用树文法来创建模板12.6对数据列表使用模板12.7编写可改变输出结果的翻译器第13章知识汇总13.1在蛋白质结构中查找模式13.2使用脚本构建三维场景13.3处理XML13.4读取通用的配置文件13.5对代码进行微调13.6为Java添加新的类型13.7美化源代码13.8编译为机器码参考文献索引别看那些编译原理的书了!这本书教你编写真正实用的解析器、翻译器、解释器等语言应用,TerenceParr在书中细致地讲解了先进的语言工具和语言应用中设计模式的用法。无论是编写自己的领域专用语言(DSL),还是挖掘已有代码、查错或是寻宝,都能从这本简单易懂的书中找到示例和模式,因为它基本上覆盖了解析技术的方方面面。——

show more...

How to Download?!!!

Just click on START button on Telegram Bot

Free Download Book