所以,我想知道是否有人对构建源到源翻译器与构建自定义解释器的优点有任何想法(希望是基于经验)。我正在做一个解释数学函数的项目,到目前为止,我一直依靠使用 Lua 来做我的脏活。我现在需要修改用户提供的输入字符串或为我的 DSL 构建解释器(例如,我想添加自定义功能,以便您可以切片数组,例如 x[1:2]在 Lua 中是不可能的 - 所以我将其修改为 range(x, 1, 2) [仅作为示例])。
我还担心未来的可扩展性。我想让人们在 Lua 中定义他们自己的函数,所以我不确定如果我构建了一个自定义解释器,我将如何整合它。因此,如果有人有任何关于源到源翻译器的优秀阅读材料和/或构建能够调用 Lua 函数的自定义 VM/解释器,我将不胜感激!