Home

Awesome

craftinginterpreters_zh

[ 在线阅读 ]

手撸解释器教程《Crafting Interpreters》中文翻译。

这是一个已基本完成的翻译项目,原项目是craftinginterpreters,同时还有配套的英文书,可免费在线阅读

该书由一门小型的自创语言Lox开始,分别使用Java和C实现了两种类型的解释器,jlox和clox,其中前者是将语法解析成Java中的表示代码,主要依赖Java本身的语法能力实现代码的真正运行;后者则采用了类似编译和虚拟机的机制,实现了一个看上去“更高效”的解释器。

该书中并不是只灌输概念或者只贴出代码,相反,作者经过悉心拆解解释器相关的概念,在每一章节中逐步进行讲解和实现,并且保证每个章节结束之后都有一个可以运行的解释器版本。内容上不会有太过深入的理论,对于普通编程爱好者也可以很容易地上手学习。

如果您的英语阅读能力比较强,建议直接阅读原文,同时也欢迎您参与本项目,分享自己学习的成果,帮助更多的人。

囿于本人能力限制,在译文难免有错漏或者含混之处,请积极留言,我会悉心听取大家的意见,争取可以让这篇译文帮助到更多人。

如果您觉得这篇译文对您的学习有所帮助,可以奖励作者一杯奶茶:)

<img src="http://img.codinghonest.space/donate/alipay.png" alt="支付宝" width="300" height="300" /> <img src="http://img.codinghonest.space/donate/wechat.png" alt="微信支付" width="300" height="300" />

进度

章节序号章节名内容简介完成情况
IWELCOME导读已完成
1Introduction前言已完成
2A Map of the Territory解释器简介已完成
3The Lox LanguageLox语言介绍已完成
IIA TREE-WALK INTERPRETERjlox介绍已完成
4Scanning扫描器相关已完成
5Representing Code表示代码已完成
6Parsing Expressions解析表达式已完成
7Evaluating Expressions执行表达式已完成
8Statements and State语句和状态已完成
9Control Flow控制流已完成
10Functions函数已完成
11Resolving and Binding解析和绑定已完成
12Classes已完成
13Inheritance继承已完成
IIIA BYTECODE VIRTUAL MACHINEclox介绍已完成
14Chunks of Bytecode字节码已完成
15A Virtual Machine虚拟机已完成
16Scanning on Demand扫描已完成
17Compiling Expressions编译表达式已完成
18Types of Values值类型已完成
19Strings字符串已完成
20Hash Tables哈希表已完成
21Global Variables全局变量已完成
22Local Variables局部变量已完成
23Jumping Back and Forth来回跳转已完成
24Calls and Functions调用和函数已完成
25Closures闭包已完成
26Garbage Collection垃圾回收已完成
27Classes and Instances类和实例已完成
28Methods and Initializers方法和初始化已完成
29Superclasses超类已完成
30Optimization优化已完成
BACKMATTER后记已完成
A1Appendix I: Lox GrammarLox语法已完成
A2Appendix II: Generated Syntax Tree Classes语法树类已完成

PS:

文本中使用了很多Typora功能语法,建议使用Typora阅读,

特别鸣谢

感谢xieyuheng提供的在线阅读支持,为需要在线阅读markdown文档的同学推荐read-only项目,样式简约大方,值得一试。