用Go语言自制解释器

用Go语言自制解释器

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

编辑推荐

从零开始,用GO语言创造出另一门语言,体验从无到有实现类C语言的乐趣。

内容简介

本书采用Go语言来为自创的编程语言Monkey实现解释器。读者将为Monkey语言实现类C语法、变量绑定、基本数据类型、算术运算、内置函数、闭包等特性,并了解什么是词法分析器、语法分析器和抽象语法树。

作者简介

作者索斯藤·鲍尔,Sourcegraph软件工程师,精通多门程序设计语言,包括Go、C、JavaScript和Ruby,深谙编译原理、系统编程、Unix、数据库等相关技术。

章节目录

版权信息

致谢

前言

Monkey编程语言和解释器

为什么用Go语言

如何使用本书

更多信息

第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.7 普拉特解析的工作方式

2.8 扩展语法分析器

2.9 RPPL

第3章 求值

3.1 为符号赋予含义

3.2 求值策略

3.3 树遍历解释器

3.4 表示对象

3.5 求值表达式

3.6 条件语句

3.7 return语句

3.8 错误处理

3.9 绑定与环境

3.10 函数和函数调用

3.11 如何处理垃圾

第4章 扩展解释器

4.1 数据类型和函数

4.2 字符串

4.3 内置函数

4.4 数组

4.5 哈希表

4.6 大结局

第5章 遗失的篇章:Monkey的宏系统

5.1 宏系统

5.2 Monkey的宏系统

5.3 quote

5.4 unquote

5.5 宏扩展

5.6 扩展REPL

5.7 关于宏的一些畅想

作者简介

用Go语言自制解释器是2022年由人民邮电出版社出版,作者[德] 索斯藤·鲍尔。

得书感谢您对《用Go语言自制解释器》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
R语言编程基础 电子书
《R语言学习手册》:7章全面介绍R语言及Rattle工具,附课后习题。
计算机视觉教程(第2版) 电子书
本书系统地介绍了计算机视觉的基本原理、典型方法和实用技术,内容包括图像采集、图像预处理、基元检测、目标分割、目标表达和描述、纹理特性分析、形状特性分析、立体视觉、三维景物恢复、运动特性分析、景物识别、广义匹配、时空行为了解、场景解释及计算机视觉系统。读者可从中了解计算机视觉的基本原理和典型技术,并能据此解决计算机视觉应用中的一些具体问题。本书提供了许多讲解例题,每章均有要点小结、参考文献介绍和练习
计算思维的结构 电子书
这是一本讲述计算思维的入门书,适合大学新生,以及所有希望提高问题求解、系统设计和人类行为理解能力的人阅读。本书的结构建立在计算机方法论的结构框架之上,重点放在计算机科学中的不同抽象层次的“自动有效进行”方面,着力于一般(类)问题的有效求解。这样做的好处是:一方面,从类问题求解的思维模式上帮助大学新生顺利过渡到大学学习中来;另一方面,强调计算机科学中抽象层次的概念,可以降低不同学科人们沟通的复杂程度
jQuery+Bootstrap Web开发案例教程 电子书
本书通过丰富的实例详细讲解jQuery和Bootstrap框架的相关技术。jQuery篇主要包括jQuery基础、如何使用jQuery控制DOM、简化AJAX操作、制作动画与特效以及jQuery插件等内容。Bootstrap篇主要包括工具类、栅格布局、表单样式和组件库等内容。本书使用大量的案例帮助读者理解这两个框架的使用,同时会演示综合使用这两个框架进行Web开发的方法。
计算机网络技术入门教程(项目式) 电子书
内容提要本书是计算机网络技术的入门级教材,它打破了传统的课程教学模式,以职业能力为导向,构建以项目为载体的课程体系。本书将理论教学和实践教学融为一体,由浅入深构建了7个项目,包括认知网络、双机直连、组建简单的局域网、配置和管理网络、配置Internet接入、组建小型无线局域网、构建安全的校园网络,内容涵盖网络体系结构、局域网技术、网络传输介质与网络设备、IP地址、网络共享、网络接入技术、网络服务配