mirror of
https://gitcode.com/JianFeeeee/LuaCangjia_api.git
synced 2026-09-20 00:48:47 +00:00
- 1994 年发布, 全局单例状态机+按名调用+无虚拟栈模型 - 评估结论: 不建议移植, 详见 doc/ADAPTATION-lua11.md - 建议历史脚本用 5.1 兼容模式运行替代
1.3 KiB
1.3 KiB
Lua 1.1 分支移植评估(ADAPTATION.md)
本分支已 vendor Lua 1.1 官方源码到
lib/lua/(src/ + include/,1994 年发布)。 桥接层尚未适配,且不建议移植。
结论:不建议移植
Lua 1.1 是 Lua 的第二个公开版本(1994),API 极简且与现代 Lua 完全割裂:
/* lua.h 全部嵌入 API(共约 20 个) */
int lua_dofile(char *filename);
int lua_dostring(char *string);
int lua_call(char *functionname, int nparam); /* 按函数名调用 */
不可移植的根本原因:
- 全局单例状态机 —— 无任何状态句柄,多 runner 实例不可能
- 无虚拟栈模型 —— 参数经
lua_getparam(int)获取、返回值用lua_pushobject等 隐式对象接口;本项目的 pkgs[] 管道栈布局完全无处安放 - 按名调用 ——
lua_call("funcname", n),没有函数值概念, loadFunction/callFunction 预加载模式无法对应 - 词法分析器依赖 yacc/lex 工具链构建(src/yacc/),现代环境需额外工具
- 1994 年 K&R C 代码,GCC 现代默认标准下大量编译错误
替代建议
如需运行 Lua 1.x 历史脚本:
- 多数语法是 Lua 5.1 的子集,可直接用 lua_5.1.5 分支尝试加载
- 或使用官方 lua-5.1 的 LUA_COMPAT 特性
本分支仅作为源码存档。