我需要找到一个好的Lua到JavaScript的转换器;luaforge.org上的lua2js已经过时了(3年左右,看起来它不能在Lua5.1上工作),我还没有在谷歌上找到任何东西。
有没有人有使用其他转换器的经验?它应该可以在Lua5.1上工作,最好是基于.NET的,但.NET不是必需的。javascript lua解释器也可以工作。
发布于 2011-12-30 06:21:04
一个新的挑战者出现了: Lua.js https://github.com/mherkender/lua.js
有关证明其成熟性的一些很棒的演示,请参阅https://github.com/ghoulsblade/love-webplayer
Lua.js的工作原理是将Lua代码直接转换为ECMAscript (包括JavaScript、ActionScript),这使得它比试图在JavaScript中实现Lua VM的解决方案具有重要的速度优势。
发布于 2008-10-08 15:04:58
这是Lua列表上的一个反复出现的问题,我猜是因为两种语言表面上的相似性。
不幸的是,有许多重要的区别并不是那么明显。要让它工作,要么需要一个针对JS而不是Lua字节码的成熟编译器,要么需要用JavaScript重写Lua VM。
我不知道Lua2js最初的目标是什么;但是如果它仅仅是一个有限的‘翻译器’,那么编写打算被翻译的Lua代码将否定大多数(所有?)关于Lua的好处。例如,我不认为可以使用函数作为表键,因为在JavaScript中,键只是字符串(和数字?我不确定)。
.NET的选择更合理,它可以改变现有的编译器来发出CLR字节码,而不是标准的Lua字节码。即使CLR是为其他类型的语言设计和优化的,它也绝对足够通用,可以很好地运行。主要的障碍是库的可用性。
我刚刚找到的另一个选择是Roberto Ierusalmschy和Fabio Mascarenhas的this paper,他们探索将LuaVM字节码转换为CLR字节码。
就像通常的学术论文一样,没有关于它写的日期的指示,所以我不知道它是新的和革命性的,还是旧的和被遗忘的。
发布于 2011-04-26 18:14:40
Emscripten包含转换为JavaScript的Lua解释器。你可以使用try it in your browser。然而,大小是1.5MB。
https://stackoverflow.com/questions/176235
复制相似问题