文件名称:lua:用Go编写的Lua 5.3 VM和编译器
文件大小:121KB
文件格式:ZIP
更新时间:2024-05-31 21:19:33
Go
DCLua-Go Lua编译器和VM: 这是用编写的Lua 5.3 VM和编译器。 这旨在允许轻松地将其嵌入Go程序中,而不必大惊小怪。 我已经使用此VM /编译器作为Rubble(用于为游戏Dwarf Fortress生成数据文件的脚本化模板系统)中的主要脚本宿主了一年以上,因此它们已经过了很好的测试。 除了已收到的真实世界的“测试”之外,我还将根据官方的Lua测试套件缓慢添加适当的测试。 这些测试远未完成,但随着时间的流逝逐渐增加。 大多数(如果不是全部)API函数可能会引起恐慌,但前提是事情确实真的出错了。 如果一个函数没有声明它可能会恐慌或“引发错误”,则只有在关键的内部假设被证明是错误的情况下才这样做(也就是代码在某处存在错误)。 这些错误将在错误消息之前添加一个特殊的前缀,表明此错误表示内部VM错误。 如果您看到这样的错误,我想尽快知道。 就是说,如果API函数可以“引
【文件预览】:
lua-master
----.gitignore(364B)
----README.md(27KB)
----value.go(13KB)
----vm.go(14KB)
----opcode.go(8KB)
----loadbin.go(8KB)
----state.go(5KB)
----fib_test.go(2KB)
----stack.go(13KB)
----function.go(6KB)
----dumpbin.go(4KB)
----LICENSE(868B)
----script_test.go(31KB)
----lmodmath()
--------functions.go(5KB)
----lmodtable()
--------functions.go(5KB)
----go.mod(48B)
----supermeta()
--------tables.go(4KB)
--------script_test.go(5KB)
--------supermeta.go(12KB)
----lmodpackage()
--------functions.go(5KB)
----lmodbase()
--------functions.go(6KB)
----api_test.go(7KB)
----luautil()
--------strconv.go(4KB)
--------errors.go(3KB)
----compile.go(20KB)
----ast()
--------ast.go(5KB)
--------lexer.go(19KB)
--------stmt.go(3KB)
--------parse_expr.go(15KB)
--------parse.go(8KB)
--------expr.go(4KB)
----callframe.go(5KB)
----table.go(13KB)
----lmodutf8()
--------functions.go(4KB)
----compile_expr.go(23KB)
----example_test.go(3KB)
----testhelp()
--------testhelp.go(3KB)
----api.go(32KB)
----lmodstring()
--------README.md(3KB)
--------functions.go(7KB)