Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Compiler construction 源到源翻译还是自定义翻译?_Compiler Construction_Lua_Code Translation - Fatal编程技术网

Compiler construction 源到源翻译还是自定义翻译?

Compiler construction 源到源翻译还是自定义翻译?,compiler-construction,lua,code-translation,Compiler Construction,Lua,Code Translation,因此,我想知道是否有人对构建源代码到源代码的翻译器与构建自定义翻译器的优点有过任何想法(希望是基于经验)。我正在从事一个解释数学函数的项目,到目前为止,我一直依赖于利用Lua来完成我的脏活。现在,我需要修改用户提供的输入字符串,或者为我的DSL构建一个解释器(例如,我想添加自定义功能,以便您可以分割像x[1:2]这样的数组,这在Lua中是不可能的,所以我将其修改为类似于范围(x,1,2)[作为示例]) 我还担心未来的可扩展性。我想让人们在Lua中定义自己的函数,所以我不确定如果我构建了一个自定义

因此,我想知道是否有人对构建源代码到源代码的翻译器与构建自定义翻译器的优点有过任何想法(希望是基于经验)。我正在从事一个解释数学函数的项目,到目前为止,我一直依赖于利用Lua来完成我的脏活。现在,我需要修改用户提供的输入字符串,或者为我的DSL构建一个解释器(例如,我想添加自定义功能,以便您可以分割像x[1:2]这样的数组,这在Lua中是不可能的,所以我将其修改为类似于范围(x,1,2)[作为示例])


我还担心未来的可扩展性。我想让人们在Lua中定义自己的函数,所以我不确定如果我构建了一个自定义的解释器,我将如何合并这些函数。因此,如果有人有关于源代码到源代码转换器和/或构建能够调用Lua函数的定制VM/解释器的好阅读材料,我将不胜感激

看看。

如果您想使用Lua,还可以生成Lua字节码而不是Lua源代码。缺点是字节码是不可移植的。

Lua邮件列表上的一些人正在积极开发Lua的数学内容。考虑放弃一些见解。