脚本语言解释器源代码学习

时间:2011-10-18 00:09:16

标签: c++ c scripting interpreter

我想阅读并学习脚本语言的解释器/编译器的源代码。什么脚本语言解释器/编译器具有最简单,最干净,最容易阅读的源代码?我更喜欢用C / C ++编写(还有什么编写的编译器?)因为我打算用C编写编译器。

6 个答案:

答案 0 :(得分:11)

看一下lua,您可以浏览编程语言的第一版,看看它是如何演变的。它是用C语言编写的,代码简洁明了。您可以使用几乎所有编程语言编写编译器,但C是大多数程序员选择的编译器。

答案 1 :(得分:6)

CPython打断器已经存在很长时间了,我想这会对你非常有用。

答案 2 :(得分:4)

AngelScript是了解编译器的一个很好的选择。这是一种用C / C ++熟悉的语法,垃圾收集的语言,它是面向对象的,具有继承和多态性,跨平台并编译为字节码。

我的第二选择是Lua

答案 3 :(得分:4)

作为温和的介绍,我建议您查看LLVM Tutorial

Chris Lattner创建了一个简单的玩具语言 Kaleidoscope 来展示编译的各个阶段:

然后,他演示了如何add JIT capabilities(对翻译来说很重要)。

玩具语言非常简单,因此生成的代码也很简单,并且很好地展示了这个体系结构,而不会让您误入实现细节。

我不确定该教程是否完全是最新的,并且可以用作最新的LLVM版本,但我建议至少阅读它。

(当然,阅读Dragon Book)。

答案 4 :(得分:2)

看看V8上的JavaScript。每个interpeter都有一个名为tokenizer的组件。 GNU有一个名字叫野牛。继续看看吧。它可能会有所帮助。 Chromium也使用一些标记化器来解释Webkit上的html,但是V8是javascript解释器。

Claudio M. Souza Junior

答案 5 :(得分:0)

一种着名的语言,但不简单(PHP源代码)。 您可以利用源代码。

PHP Source Code