内容简介
本书被誉为现代版“龙书”,是一本从零开始手写解释器的实战指南。作者索斯藤·鲍尔带领读者用Go语言逐步构建一个完整的类C语言解释器,涵盖词法分析、语法分析、求值计算等核心环节,让读者在实践中深入理解编译原理。与传统的理论教材不同,本书强调“动手学”,通过200多个代码示例和清晰的步骤,将抽象的概念转化为可运行的代码,避免枯燥的理论学习。
全书共分为两个主要部分:第一部分从零开始实现一个简化版Monkey语言的词法分析器和语法分析器;第二部分在此基础上实现求值器,支持变量绑定、函数调用、闭包和一等公民函数等高级特性。书中还涉及了抽象语法树、递归下降解析、宏系统等现代语言实现技术,并通过测试驱动开发的方式确保代码的正确性。
本书适合有一定Go语言基础、希望深入理解编程语言实现原理的开发者。阅读本书后,读者不仅能够掌握解释器的构建方法,还能提升对编程语言本质的认识,为后续学习编译器设计、语言抽象奠定坚实基础。书中所有代码均可从GitHub获取,并配有清晰的注释和调试技巧,是一本不可多得的实战型编译原理入门书籍。
目录
为什么用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
1. 本站分享的所有书籍均来源于自互联网,我们只进行收集整理,并不对书籍内容进行更改。
2. 部分书籍中可能有书籍压制者放置的广告,这并不是本站所为,请注意甄别。
3. 我们分享这些书籍,纯粹是出于知识分享的热情,以及对互联网分享精神的高度认同和践行,不以盈利为目的。
4. 本站分享的所有书籍,仅供个人学习研究使用,请勿用于任何商业用途,否则产生的一切法律纠纷与本站无关。
5. 如果这些书籍让你有所收获,在条件允许的情况下,请一定购买正版书籍,这是对创作者最好的支持。
6. 如果您是此书籍的版权所有者,且您不希望此作品出现在本站,请联系我们,我们将在收到您的请求后48小时内予以删除。
📖 支持知识自由流动
每一本书的稳定访问,都离不开服务器、存储与带宽的长期维护。






