繁体   English   中英

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

[英]Scripting language interpreter source code to learn from

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

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

CPython中断器已经存在很长一段时间了,我想这对你来说非常有用。

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

我的第二选择是Lua

作为一个温和的介绍,我建议看一下LLVM教程

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

然后,他演示了如何添加JIT功能 (对解释器至关重要)。

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

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

(当然,阅读龙书 )。

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

Claudio M. Souza Junior

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

PHP源代码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM