7

可能重复:
引导语言

为以目标语言编写的给定语言(例如PyPy)配备解释器的重要性是什么?

4

4 回答 4

7

与其说是自己编写解释器,不如说是用高级语言而不是 C 语言编写解释器。理想情况下,这样做可以更改实现的细节,并使解释器更加模块化。

对于 PyPy 的特定情况,在 (R)Python 中编写解释器和核心对象允许为目标(C、JVM、.NET、JavaScript 等)重新定位 PyPy,还允许替换垃圾收集器等方面。

于 2008-11-09T20:45:38.040 回答
2

我确信这样做有很多不同的原因。在某些情况下,这是因为你真的相信语言是最好的工具......所以用语言本身编写语言解释器或编译器可以被视为一种狗食形式。如果您真的对这个主题感兴趣,那么下面的文章是一篇关于 squeak 发展的非常精彩的读物。当前版本的 squeak 是一个用 smalltalk 编写的 smalltalk 运行时。

http://users.ipa.net/~dwighth/squeak/oopsla_squeak.html

于 2008-11-09T20:35:45.860 回答
0

这样,您可以证明目标语言是严肃的事情,因为能够使其编译某些东西表明它是一门好语言。

好的,C++ 和 Java 也产生编译器......所以也许这个论点只是看起来的一半。

于 2010-07-08T05:56:29.343 回答
0

另一个好处是,如果您为目标语言实现了良好的调试器和 IDE,它们也适用于您的源语言。

于 2008-11-17T18:53:25.493 回答