gpt4 book ai didi

lua - MetaLua 可以和 LuaJIT 一起使用吗?

转载 作者:行者123 更新时间:2023-12-04 16:02:41 33 4
gpt4 key购买 nike

MetaLua 可以和 LuaJIT 一起使用吗?

如果是这样,那又如何呢?

(我找不到任何可靠的信息)

最佳答案

Metalua 编译器似乎是用 Lua 和 Metalua 编写的,所以理论上是的。 makefile揭示了一些有趣的核心部分。 Metalua 本身似乎运行在 Lua 之上。

cat > ${BUILD_BIN}/metalua <<EOF
#!/bin/sh
export LUA_PATH='?.luac;?.lua;${BUILD_LIB}/?.luac;${BUILD_LIB}/?.lua'
export LUA_MPATH='?.mlua;${BUILD_LIB}/?.mlua'
${LUA} ${BUILD_LIB}/metalua.luac \$*
EOF

但是,LuaJIT 无法像 LuaC 那样在命令行将多个脚本编译成一个输出文件。简单地用 LuaJIT 实例替换 LUAC 是行不通的。必须针对与 LuaJIT 兼容的 makefile 调整以下行。

${LUAC} -o ${BUILD_LIB}/metalua/bytecode.luac lopcodes.lua lcode.lua ldump.lua compile.lua
${LUAC} -o ${BUILD_LIB}/metalua/mlp.luac lexer.lua gg.lua mlp_lexer.lua mlp_misc.lua mlp_table.lua mlp_meta.lua mlp_expr.lua mlp_stat.lua mlp_ext.lua

不幸的是,与一些被编译成 bytecode.luac 的文件的内容相比,这个问题显得苍白无力,因为它们引用了 PUC-Lua 操作码和字节码,绝对是 与 LuaJIT 不兼容。

我想说,如果可能的话,那么它肯定需要对编译器进行一些重新编程,但不太可能直接使用 LuaJIT。

关于lua - MetaLua 可以和 LuaJIT 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20911993/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com