源到源翻译器还是自定义解释器?

所以,我想知道是否有人根据经验对构建源到源转换器与构建自定义解释器的优缺点有所思考。我正在开发一个函数解释器的项目,目前我仍然依赖于利用Lua来完成我的工作。现在我需要修改用户提供的输入字符串或为我的DSL构建一个解释器(例如,我想添加自定义功能,使用户能够像x[1:2]这样对数组进行切片,这在Lua中是不可能的-因此我会将其修改为类似于range(x,1,2)的形式[仅作为示例])。

我还关心未来的可扩展性。我希望允许人们在Lua中定义自己的函数,因此如果我构建了自定义解释器,我不确定如何整合它。因此,如果有人对源到源转换器和/或构建具有调用Lua函数能力的自定义VM /解释器有任何好的阅读材料,我将非常感激!

原文链接 https://stackoverflow.com/questions/5984543

点赞
stackoverflow用户6236
stackoverflow用户6236

请看Metalua

2011-05-12 21:51:18
stackoverflow用户107090
stackoverflow用户107090

如果想要使用 Lua,你也可以生成 Lua 字节码而不是 Lua 源码。不过,缺点是字节码不可移植。

2011-05-12 22:08:12