编程语言实现模式旨在传授构建语言应用(工具)的经验和理念,教读者构建自己的语言应用。这里的语言应用并非特指用编译器或解释器实现编程语言,而是泛指任何处理、分析、翻译输入文件的程序,比如配置文件读取器、数据读取器、模型驱动的代码生成器、源码到源码的翻译器、源码分析工具、解释器,以及诸如此类的工具。为此,作者举例讲解已有语言应用的工作机制,拆解、归纳出31种易于理解且常用的设计模式(每种都包括通用数据结构、算法、策略)。虽然示例是用Java编写的,但相信读者可以触类旁通,利用这些设计模式构建针对其他编程语言(既包括特定领域语言,也包括通用编程语言)的应用。
本书虽然不专门讨论如何设计编程语言,但读者在阅读的过程中将吸收丰富的相关知识。比较不同编程语言的特点、了解编程语言的发展历史是学习设计编程语言的好途径。
编程语言实现模式 目录:第1部分 读取输入
第1章 初探语言应用
3
第2章 基本解析模式
21
第3章 高阶解析模式
49
第2部分 分析输入
第4章 从语法树构建中间表示
73
第5章 遍历并改写树形结构
101
第6章 记录并识别程序中的符号
131
第7章 管理数据聚集的符号表
155
第8章 静态类型检查
181
第3部分 解释执行
第9章 构建高级解释器
219
第10章 构建字节码解释器
239
第4部分 生成输出
第11章 语言的翻译
278
第12章使用模板生成DSL 312
第13章 知识汇总 348
《编程语言实现模式》【PDF】下载链接:
https://u253469.ctfile.com/fs/253469-231196316
更多书单和推荐电子书请关注:
http://zhaozhiyong.cn