1
9
一个新的挑战者出现了:Lua.js https://github.com/mherkender/lua.js 有关证明其成熟性的精彩演示,请参见 https://github.com/ghoulsblade/love-webplayer js的工作原理是将Lua代码直接转换为ECMAscript(包括JavaScript、ActionScript),这使得它比试图用JavaScript实现Lua虚拟机的解决方案具有重要的速度优势。 |
2
8
这是Lua列表中的一个反复出现的问题,我猜是因为这两种语言表面上的相似性。 不幸的是,有许多重要的区别并不那么明显。要使其工作,要么需要一个针对JS而不是Lua字节码的成熟编译器,要么需要用JavaScript重写Lua VM。 我不知道Lua2js最初的目标;但是如果它只是一个有限的“翻译”,那么编写打算翻译的Lua代码会否定大多数(全部?)关于Lua的美好事情。例如,我不认为可以将函数用作表键,因为在JavaScript中,键只是字符串(和数字)?我不确定)。 NET的选择更合理,可以改变现有的编译器来发射CLR字节码而不是标准的LUA字节码。即使CLR是为其他类型的语言设计和优化的,它绝对是通用的,可以很好地运行。主要的障碍是图书馆的可用性。 我刚找到的另一个选择是 this paper 作者Roberto Ierusalmschy和Fabio Mascarenhas,他们在那里探索将LuaVM字节码转换为CLR字节码。 像学术论文上的惯例一样,没有写日期的说明,所以我不知道是新的、革命性的还是旧的、被遗忘的。 |
3
4
Emscripten 包含转换为JavaScript的Lua解释器。你可以 try it in your browser . 但是大小是1.5MB。 |
4
4
ljs在javascript中有一个lua虚拟机的工作演示。甚至可以使用lua编写的lua解释器在浏览器中编译源代码。 |
5
2
我一直在使用这个实现 https://github.com/mherkender/lua.js 在之前的回答中提到过。它要么离线,要么加载时间解析,我发现它非常容易使用。 我的Lua脚本是通过C函数调用的,将C代码转换成Javascript并将其与Lua.js连接起来非常简单。 |
6
1
参观 http://luajs.org 去看我的作品。 网站菜单上有演示和基准测试。 压缩前35.5K,压缩后12.2K。它可以直接访问Javascript对象/数组。几乎每天都在更新。 它比lua.vm.js快。(由于元表实现的原因,速度不快),我一直在优化它。 |
7
0
将javascript转换为浏览器端的javascript替换非常有趣。我们也可以在浏览器上采取一些类型安全措施。将javascript作为一个平台的目标是最普遍的平台之一,这个星球上的浏览器。GWT做java2js,但我不确定是否只想在应用程序中介绍几页GWT。我得考虑一下。作为一个表中的键,必须要做一些魔术。也许只需在编译时为每个函数指定一个唯一的名称,并将其用于键。您还可以为所有键添加前缀以进行类型检查,这是一个很好的开始。 |
8
0
|
9
0
我已经为ECMAscript静态编译器编写了部分完整的Lua。 https://github.com/mherkender/lua2js-experiment 它可能无法满足您的需求,因为该项目缺少许多关键功能,我不急于完成它,因为它是一个死胡同。有关详细信息,请参阅自述文件。 尽管我在互联网上看到了一些担心,但是只有一些特定于Lua的特性(比如*fenv函数,或者大部分调试库)Javascript不能真正支持。其他的,比如文件库,受到VM可以访问的特性的限制。 我还亲自尝试了Lua+Emscripten选项,虽然它令人印象深刻,但也非常缓慢。 |
Willy · 设置DataGridTextColumn宽度 6 年前 |
Arbys · 从字典[副本]创建“顶级列表” 6 年前 |
Helen · 转换数据时出现问题。bupaR中事件日志的框架(R包) 6 年前 |
Kon Kyri · 在Epoch Python中转换日期时间 6 年前 |
Joozty · 在C中将int转换为ASCII字符 7 年前 |