编程语言实现模式

编程语言实现模式 pdf epub mobi txt 电子书 下载 2025

出版者:华中科技大学出版社
作者:Terence Parr
出品人:
页数:388
译者:李袁奎
出版时间:2012-3-20
价格:72.00元
装帧:平装
isbn号码:9787560977003
丛书系列:
图书标签:
  • 编译原理
  • 编程语言
  • 程序设计
  • 计算机
  • 编程
  • 计算机科学
  • 设计模式
  • Programming
  • 编程
  • 语言
  • 实现
  • 模式
  • 软件
  • 设计
  • 算法
  • 结构
  • 代码
  • 开发
想要找书就要到 小美书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

《编程语言实现模式》旨在传授开发语言应用(工具)的经验和理念,帮助读者构建自己的语言应用。这里的语言应用并非特指用编译器或解释器实现编程语言,而是泛指任何处理、分析、翻译输入文件的程序,比如配置文件读取器、数据读取器、模型驱动的代码生成器、源码到源码的翻译器、源码分析工具、解释器,以及诸如此类的工具。为此,作者举例讲解已有语言应用的工作机制,拆解、归纳出31种易于理解且常用的设计模式(每种都包括通用数据结构、算法、策略)。虽然示例是用Java编写的,但相信读者可以触类旁通,利用这些设计模式构建针对其他编程语言(既包括特定领域语言,也包括通用编程语言)的应用。

作者简介

Terence Parr是美国旧金山大学的计算机教授、研究生导师,他一直致力于从事ANTLR项目(antlr.org)和模板引擎(stringtemplate.org)的设计和开发工作。Terence曾担任IBM、洛克希德马丁、NeXT、雷诺汽车等公司的技术顾问,另著有《ANTLR权威指南》。

目录信息

第1部分 读取输入
第1章 初探语言应用 3
1.1 大局观 3
1.2 模式概览 5
1.3 深入浅出语言应用 9
1.4 为语言应用选择合适的模式 17
第2章 基本解析模式 21
2.1 识别式子的结构 22
2.2 构建递归下降语法解析器 24
2.3 使用文法DSL来构建语法解析器 26
2.4 词法单元和句子 27
第3章 高阶解析模式 49
3.1 利用任意多的向前看符号进行解析 50
3.2 记忆式解析 52
3.3 采用语义信息指导解析过程 52
第2部分 分析输入
第4章 从语法树构建中间表示 73
4.1 为什么要构建树 75
4.2 构建抽象语法树 77
4.3 简要介绍ANTLR 84
4.4 使用ANTLR文法构建AST 86
第5章 遍历并改写树形结构 101
5.1 遍历树以及访问顺序 102
5.2 封装访问节点的代码 105
5.3 根据文法自动生成访问者 107
5.4 将遍历与匹配解耦 110
第6章 记录并识别程序中的符号 131
6.1 收集程序实体的信息 132
6.2 根据作用域划分符号 134
6.3 解析符号 139
第7章 管理数据聚集的符号表 155
7.1 为结构体构建作用域树 156
7.2 为类构建作用域树 158
第8章 静态类型检查 181
第3部分 解释执行
第9章 构建高级解释器 219
9.1 高级解释器存储系统的设计 220
9.2 高级解释器中的符号记录 222
9.3 处理指令 224
第10章 构建字节码解释器 239
10.1 设计字节码解释器 241
10.2 定义汇编语言语法 243
10.3 字节码机器的架构 245
10.4 如何深入 250
第4部分 生成输出
第11章 语言的翻译 278
11.1 语法制导的翻译 280
11.2 基于规则的翻译 281
11.3 模型驱动的翻译 283
11.4 创建嵌套的输出模型 291
第12章 使用模板生成DSL 312
12.1 熟悉StringTemplate 313
12.2 StringTemplate的性质 316
12.2 从一个简单的输入模型生成模板 317
12.4 在输入模型不同的情况下复用模板 320
12.5 使用树文法来创建模板 323
12.6 对数据列表使用模板 330
12.7 编写可改变输出结果的翻译器 336
第13章 知识汇总 348
13.1 在蛋白质结构中查找模式 348
13.2 使用脚本构建三维场景 349
13.3 处理XML 350
13.4 读取通用的配置文件 352
13.5 对代码进行微调 353
13.6 为Java添加新的类型 354
13.7 美化源代码 355
13.8 编译为机器码 356
参考文献 359
索引 361
· · · · · · (收起)

读后感

评分

这本书最嚣张的软文肯定不是我写的,翻开此书,我们摘录前两段: “别看那些编译原理的书了!这本书教你编写真正实用的解析器、翻译器、解释器等语言应用,⋯⋯” 这个⋯⋯这位是 Python 语言的发明人,著名的龟叔(Guido Van Rossum)。 “我的龙书被打入冷宫了!” ...  

评分

这本书最嚣张的软文肯定不是我写的,翻开此书,我们摘录前两段: “别看那些编译原理的书了!这本书教你编写真正实用的解析器、翻译器、解释器等语言应用,⋯⋯” 这个⋯⋯这位是 Python 语言的发明人,著名的龟叔(Guido Van Rossum)。 “我的龙书被打入冷宫了!” ...  

评分

还没看完,先挖个坑。 话说要读这本书想觉得简单一些,建议先读它的前传《The Definitive Antlr Reference》http://book.douban.com/subject/1941193/(额,貌似这本是讲ANTLR 3的,目前出到ANTLR 4,还有一本《The Definitive ANTLR 4 Reference》http://book.douban.com/sub...  

评分

最近在看这本书,初衷是学习编译器实现的相关模式。 做过编译器前端的相关开发工作,所以感觉本书前面提及的内容都还比较浅显易懂。 但到了后面的,语意分析,代码执行等部分一直是用ANTLR描述语言来讲解。 这和我的预期有很大的不同。 我以前没用过ANTLR, 现在也不打算学习这...  

评分

标题的观点是关于本书的某个评价,觉得再贴切不过。这本书是野路子,不同于任何一本compiler的书,直接了当的描述implementation patterns(前端)。看看这本书的篇幅你就会知道,看了这本书,你并不会得到编译原理相关的太多知识的。你其实仍然需要一本诸如龙书这样的书来真正...  

用户评价

评分

帮助我理清语言开发的设计思路。

评分

: TP312/4444-19

评分

《编程语言实现模式》顾名思义,推荐指数A,难度系数B。推荐理由:作为码农或是准码农,搞出一些DSL来简化重复工作已经是大势所趋了,不借助工具单凭手工堆代码是不可能比平均水平高一个数量级的

评分

本书有个标签‘屠“龙书” ’哈哈哈

评分

更像ANTLR的使用手册,适合用来构建编译器前端时,作为参考的书籍。

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美书屋 版权所有