跳到主要内容

Crafting Interpreters 中文翻译

说明​

本目录用于翻译 Robert Nystrom 的 Crafting Interpreters。原书以 CC BY-NC-SA 4.0 协议发布;本译文用于学习与研究,并保留原书的署名、出处和许可信息。

本书通过 Java 版树遍历解释器 jlox 与 C 版字节码虚拟机 clox,循序构建一门名为 Lox 的编程语言实现。译文保留 Lox、jlox、clox 等专有名称,以及对理解实现有帮助的英文术语。

原书:Crafting Interpreters;作者:Robert Nystrom;许可:CC BY-NC-SA 4.0。

目录​

前置内容(Frontmatter)​

第 I 部分:启程(Welcome)​

  1. 第 1 章:引言(Introduction)​

  2. 第 2 章:全景地图(A Map of the Territory)​

  3. 第 3 章:Lox 语言(The Lox Language)​

第 II 部分:树遍历解释器(A Tree-Walk Interpreter)​

  1. 第 4 章:扫描(Scanning)​

  2. 第 5 章:表示代码(Representing Code)​

  3. 第 6 章:解析表达式(Parsing Expressions)​

  4. 第 7 章:求值表达式(Evaluating Expressions)​

  5. 第 8 章:语句与状态(Statements and State)​

  6. 第 9 章:控制流(Control Flow)​

  7. 第 10 章:函数(Functions)​

  8. 第 11 章:解析与绑定(Resolving and Binding)​

  9. 第 12 章:类(Classes)​

  10. 第 13 章:继承(Inheritance)​

第 III 部分:字节码虚拟机(A Bytecode Virtual Machine)​

  1. 第 14 章:字节码块(Chunks of Bytecode)​

  2. 第 15 章:虚拟机(A Virtual Machine)​

  3. 第 16 章:按需扫描(Scanning on Demand)​

  4. 第 17 章:编译表达式(Compiling Expressions)​

  5. 第 18 章:值的类型(Types of Values)​

  6. 第 19 章:字符串(Strings)​

  7. 第 20 章:哈希表(Hash Tables)​

  8. 第 21 章:全局变量(Global Variables)​

  9. 第 22 章:局部变量(Local Variables)​

  10. 第 23 章:跳转来回(Jumping Back and Forth)​

  11. 第 24 章:调用与函数(Calls and Functions)​

  12. 第 25 章:闭包(Closures)​

  13. 第 26 章:垃圾收集(Garbage Collection)​

  14. 第 27 章:类与实例(Classes and Instances)​

  15. 第 28 章:方法与初始化器(Methods and Initializers)​

  16. 第 29 章:超类(Superclasses)​

  17. 第 30 章:优化(Optimization)​

附录(Backmatter)​

每章会保留原书相应的挑战与设计笔记,并按原书顺序逐步翻译。

翻译进度​

  • 第 1 章:引言(Introduction)
  • 第 2 章:全景地图(A Map of the Territory)
  • 第 3 章:Lox 语言(The Lox Language)
  • 第 4 章:扫描(Scanning)
  • 第 5 章:表示代码(Representing Code)
  • 第 6 章:解析表达式(Parsing Expressions)
  • 第 7 章:求值表达式(Evaluating Expressions)
  • 第 8 章:语句与状态(Statements and State)
  • 第 9 章:控制流(Control Flow)
  • 第 10 章:函数(Functions)
  • 第 11 章:解析与绑定(Resolving and Binding)
  • 第 12 章:类(Classes)
  • 第 13 章:继承(Inheritance)
  • 第 14-30 章:字节码虚拟机
  • 附录 I-II