正版图书,可开发票,请放心购买。
¥ 61.48 6.2折 ¥ 99.8 全新
库存6件
作者[德] 索斯藤·鲍尔(Thorsten Ball)
出版社人民邮电出版社
ISBN9787115588289
出版时间2021-06
装帧平装
开本16开
定价99.8元
货号11618705
上书时间2024-12-24
索斯藤·鲍尔(Thorsten Ball) Sourcegraph软件工程师,精通多门程序设计语言,包括Go、C、JavaScript和Ruby,深谙编译原理、系统编程、Unix、数据库等相关技术。现居德国,长期活跃于欧洲各大技术大会。 孙波翔 软件工程师,硕士毕业后旅居法国。从事与Python、Go相关的研究和工作,热爱开源,侧重于Python、GUI、编译器方向。给NumPy、PySide2、wxWidgets、Cython、Pyston v1解释器等开源项目贡献过代码,另译有《深入理解Python特性》。
第1章 词法分析
1.1 词法分析
1.2 定义词法单元
1.3 词法分析器
1.4 扩展词法单元和词法分析器
1.5 编写REPL
第2章 语法分析
2.1 语法分析器
2.2 为什么不用语法分析器生成器
2.3 为Monkey语言编写语法分析器
2.4 语法分析器的第一步:解析let语句
2.5 解析return语句
2.6 解析表达式
2.6.1 Monkey中的表达式
2.6.2 自上而下的运算符优先级分析(也称普拉特解析法)
2.6.3 术语
2.6.4 准备AST
2.6.5 实现普拉特语法分析器
2.6.6 标识符
2.6.7 整数字面量
2.6.8 前缀运算符
2.6.9 中缀运算符
2.7 普拉特解析的工作方式
2.8 扩展语法分析器
2.8.1 布尔字面量
2.8.2 分组表达式
2.8.3 if表达式
2.8.4 函数字面量
2.8.5 调用表达式
2.8.6 删除TODO
2.9 RPPL
第3章 求值
3.1 为符号赋予含义
3.2 求值策略
3.3 树遍历解释器
3.4 表示对象
3.4.1 对象系统的基础
3.4.2 整数
3.4.3 布尔值
3.4.4 空值
3.5 求值表达式
3.5.1 整数字面量
3.5.2 完成REPL
3.5.3 布尔字面量
3.5.4 空值
3.5.5 前缀表达式
3.5.6 中缀表达式
3.6 条件语句
3.7 return语句
3.8 错误处理
3.9 绑定与环境
3.10 函数和函数调用
3.11 如何处理垃圾
第4章 扩展解释器
4.1 数据类型和函数
4.2 字符串
4.2.1 在词法分析器中支持字符串
4.2.2 字符串语法分析
4.2.3 字符串求值
4.2.4 字符串连接
4.3 内置函数
4.4 数组
4.4.1 在词法分析器中支持数组
4.4.2 数组字面量语法分析
4.4.3 索引运算符表达式语法分析
4.4.4 数组字面量求值
4.4.5 索引运算符表达式求值
4.4.6 为数组添加内置函数
4.4.7 测试驱动数组
4.5 哈希表
4.5.1 哈希字面量词法分析
4.5.2 哈希字面量语法分析
4.5.3 哈希对象
4.5.4 哈希字面量求值
4.5.5 哈希索引表达式求值
4.6 大结局
第5章 遗失的篇章:Monkey的宏系统
5.1 宏系统
5.2 Monkey的宏系统
5.3 quote
5.4 unquote
5.4.1 遍历树
5.4.2 替换unquote调用
5.5 宏扩展
5.5.1 macro关键字
5.5.2 宏字面量语法分析
5.5.3 定义宏
5.5.4 展开宏
5.5.5 强大的unless宏
5.6 扩展REPL
5.7 关于宏的一些畅想
- 从零开始,自己写一门语言 - 体验从无到有实现类C语言的乐趣 - 原版豆瓣评分9.5分 跟随本书,你将揭开解释器的神秘面纱,通晓它的工作原理,并编写出自己的解释器。
在程序员与计算机的“交流”过程中,解释器无疑扮演着很好的翻译角色。它为只懂0和1的计算机翻译源代码,为看似随机的字符赋予含义。这是如何实现的呢?充满好奇心的你,是否曾经思考过这个问题?跟随本书,你将揭开解释器的神秘面纱,通晓它的工作原理,并编写出自己的解释器。本书采用Go语言来为自创的编程语言Monkey实现解释器。你将为Monkey语言实现类C语法、变量绑定、基本数据类型、算术运算、内置函数、闭包等特性,并了解什么是词法分析器、语法分析器和抽象语法树。 本书适合Go语言学习者以及想深入理解程序设计语言编译原理的读者。
— 没有更多了 —
以下为对购买帮助不大的评价