为什么要用目标语言编写语言翻译?

7 interpreter

可能重复:
引导语言

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

Mar*_*wis 7

这不仅仅是编写解释器本身 - 更多的是用高级语言而不是C语言编写解释器.理想情况下,这样做可以改变实现的细节,并使解释器更加模块化.

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


kas*_*rjj 2

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

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