微型Lisp解释器的构造与实现 9787568082457 华中科技大学出版社
| 运费: | ¥ 5.00-200.00 |
| 库存: | 50 件 |
商品详情

内容简介:
本书从零开始,将Haskell的Parsec解释器移植到Java和Scala,并通过详细的程序实例,深入浅出地介绍了组合子逻辑这个函数式编程的基本范式,给读者展示了Parsec组合子的原理、实现和应用。阅读本书,读者不但可以掌握Parsec解释器的实现方法,而且可以加深对Parsec组合子的理解。本书也可以作为学习Java和Scala编程语言的补充教材。

目 录:
前言 1
第1章 环境准备
1.1 准备Java开发环境 4
1.2 准备Scala开发环境 6
1.3 JISP项目 6
1.4 SISP项目 7
第2章 开始构建简单的解释器
2.1 Hello REPL 10
2.2 Read Print Loop 13
2.3 算术表达式 14
第3章 数值解析
3.1 回顾 21
3.2 识别数值 24
3.3 前缀表达式 28
3.4 表达式求值 29
第4章 文本解析
4.1 文本和文本字面量 50
4.2 转义字符——在字符串中包含字符串 51
4.3 整合解释器 57
第5章 解释器环境
5.1 命名作用域 59
5.2 变量定义 62
5.3 “不可变”命名 70
第6章 语句块和结构化编程
6.1 do 74
6.2 let 78
第7章 逻辑运算和比较运算
7.1 逻辑判定true?和false? 86
7.2 比较运算 95
第8章 逻辑分支
8.1 if的实现 106
8.2 cond的实现 112
第9章 定义函数
9.1 具名函数和匿名函数 120
9.2 递归与循环 124
9.3 静态绑定、动态绑定与闭包 134
第10章 List和Quote
10.1 Quote 148
10.2 宏和宏编程 154
10.3 LIST 156
10.4 工具函数 158
第11章 内置函数和解释器模块 177
第12章 Parsec的原理和组成
12.1 状态管理 183
12.2 算子 191
随书代码 225
后记 226

编辑推荐:
中国人自己实现和维护的开源项目,成功将Haskell的Parsec解释器移植到Java和Scala。

作者介绍:
刘鑫 资深程序员、架构师,2000年毕业于兰州大学数学系,从事软件开发工作二十多年,参与过电子商务、政务、网络游戏、互联网服务、移动应用等多个领域的软件项目开发。近十年来,致力于将Haskell的Parsec解释器移植到Go、Swfit、Rust、Javascript、Python、Scala、Java等编程语言中,主要成果包括基于Scala 2.x的Jaskell Core Parsec和基于Java 8的Jasekll Parsec Java 8。这些成果均已应用于实际软件开发,收到了良好的效果。
推荐序:
我是十多年前在网上认识刘鑫的,当时看他在微博上发表一些和Parsec组合子有关的算法和动态,很佩服他在这方面的执著追求和探索。大约是在2016年,我去广州出差时第一次与他见面,当时和几个网友一起聊了不少有意思的技术性话题。
2021年,我加入了CSDN。不久后,我了解到刘鑫经历了创业和几个项目的历练,正在考虑下一步的计划,于是和他聊了几次,最后我很高兴邀请刘鑫加入了CSDN。他入职后,很快在大数据、自然语言处理、后端工具链、博客质量度量等重要领域做出了很好的成绩。
一转眼,刘鑫在组合子这个领域已经耕耘了十来年,这本书是他这些年工作的结晶。在这本书里,他通过各种程序实例,深入浅出地介绍了组合子逻辑这个函数式编程中的基本范式,给读者展示了Parsec组合子的原理、实现和应用。这本书把这个小领域完全讲透了,我觉得我们中国IT行业除了需要讲行业大趋势的书籍之外,也迫切需要这种深入剖析某个小领域的书籍。希望这本书能给读者带来启迪,也期望这本书能以英文版加开源项目的形式介绍给全世界的IT人士。
邹欣 CSDN副总裁,著有《编程之美》《构建之法》等书
- 华中科技大学出版社官方微店 (微信公众号认证)
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...