Git Product home page Git Product logo

craftinginterpreters_zh's Introduction

craftinginterpreters_zh

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

这是一个还在进行中的翻译项目,原项目是craftinginterpreters,同时还有配套的英文书,可免费在线阅读

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

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

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

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

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

支付宝 微信支付

进度

章节序号 章节名 内容简介 完成情况
I WELCOME 导读 已完成
1 Introduction 前言 已完成
2 A Map of the Territory 解释器简介 已完成
3 The Lox Language Lox语言介绍 已完成
II A TREE-WALK INTERPRETER jlox介绍 已完成
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 继承 已完成
III A BYTECODE VIRTUAL MACHINE clox介绍 已完成
14 Chunks of Bytecode 字节码 已完成
15 A Virtual Machine 虚拟机 已完成
16 Scanning on Demand 扫描 已完成
17 Compiling Expressions 编译表达式 已完成
18 Types of Values 值类型 已完成
19 Strings 字符串 已完成
20 Hash Tables 哈希表 已完成
21 Global Variables 全局变量 已完成
22 Local Variables 局部变量 已完成
23 Jumping Back and Forth 来回跳转 已完成
24 Calls and Functions 调用和函数 已完成
25 Closures 闭包 已完成
26 Garbage Collection 垃圾回收 已完成
27 Classes and Instances 类和实例 已完成
28 Methods and Initializers 方法和初始化 已完成
29 Superclasses 超类 已完成
30 Optimization 优化 施工中
BACKMATTER 后记 未开始
A1 Appendix I: Lox Grammar Lox语法 未开始
A2 Appendix II: Generated Syntax Tree Classes 语法树类 未开始

PS:

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

craftinginterpreters_zh's People

Contributors

boatrainlsz avatar dancon avatar fengjixuchui avatar guoyaxiang avatar isensen avatar ndnovadev avatar rovast avatar ttkltll avatar uncle-lv avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.