语言如何被自己解释(如Rubinius)?

joe*_*lis 5 ruby compiler-construction language-design rubinius self-interpreter

我已经使用Ruby的标准MRI实现在Ruby中编程了一段时间,但我一直对我听到的其他实现很好奇.

前几天我正在阅读Rubinius,一个用Ruby编写的Ruby解释器.我尝试在不同的地方查找它,但我很难弄清楚这样的事情究竟是如何起作用的.我在编译器或语言编写方面从未有过多少经验,但我真的很想知道它.

一种语言究竟如何被自己解释?编译中是否有一个基本步骤,我不明白这有什么意义?有人可以向我解释一下这就像我是一个白痴(因为那不会离基地太远)

jef*_*unt 8

它比你想象的要简单.

Rubinius不是100%用Ruby写的,只是大多数.

来自http://rubini.us/

流行语言(如C和Java)的一个重要方面是程序员可用的大多数功能都是用语言本身编写的.Rubinius的目标是将Ruby添加到该列表中.Rubyists可以更轻松地为语言添加功能,修复错误并了解语言的工作原理.Rubinius尽可能用Ruby编写.哪里不可能(还),它是C++.