Commit Graph

7 Commits

Author SHA1 Message Date
761198e96f feat: 适配 Lua 5.3.6 (lua_5.3.6 分支)
- lib/lua 替换为 Lua 5.3.6 官方源码
- luaconf.h LUA_EXTRASPACE 扩为 272 字节(容纳 iopath 重定向结构, 与 5.4.8 同方案)
- CMakeLists 版本号同步; lbitlib.c 不参与链接(5.3 位运算已内建, bit32 未注册)
- PackagePathConfig 测试跨版本语义适配:
  * Lua 5.3 require 返回 1 值(模块本身) → 栈顶为 'LoadedViaPkgPath'
  * Lua 5.4+ require 返回 2 值(模块+loader data) → 栈顶为文件路径
  断言改为接受两种结果, 并注明差异原因
- 验证: GTest 44/44 通过
2026-08-25 09:57:29 +08:00
237aab3f36 feat: typed interop 原始类型直通映射 (Int64/Float64/Bool)
- C++ 层: callfunction_int/num/bool/void + run_int/num/bool/void
- 新增 capture_result()/finish_call() 正确计算 lua_pcall 实际返回值数量,
  修复无返回值场景下误读栈残留的问题
- C FFI 层: 11 个新导出函数 + lua_runner 结构体 tresult_* 镜像字段
- 仓颉层: callFunctionInt/Num/Bool, runScriptInt/Num/Bool, resultType()
  带严格类型校验(不匹配抛 LUAERR_RESULT_TYPE)
- 大整数跨 2^53 保真(字符串路径做不到)
- 管道模式语义保留给字符串 API; typed run_* 为独立调用保持栈清洁
- GTest 新增 10 个 typed 测试用例(共 44 个全部通过)
- 独立程序验证仓颉层运行时正确性(int/num/bool直通/大整数保真/错误路径)
2026-08-25 09:29:24 +08:00
42e8b7676d feat: 实现loadFunction预加载函数能力 + AI辅助编程标识
- 新增 loadFunction/callFunction/unloadFunction 预加载函数 API
- 预加载语义:加载文件→顶层执行一次→返回函数存入Lua Registry→可多次调用
- 与管道模式(load/runScript)存储完全解耦:funcs[]+Registry vs pkgs[]+虚拟栈
- 新增错误码 5023/5024/5025
- 新增单元测试:仓颉侧 8 个 + C++ GTest 侧 11 个
- 本机以 Cangjie 1.1.0 实编译并通过功能运行验证
- README/doc 增加 AI 辅助编程标识及预加载函数模式说明
2026-08-23 12:03:04 +08:00
8f1d409cf5 更新:添加doString方法及对应的单元测试 2026-04-05 08:19:20 +08:00
c16de88385 update runner docs and align tests 2026-03-22 23:44:33 +08:00
8e9deb2865 修复描述性错误,完善测试 2026-03-21 22:53:03 +08:00
a4196e53f9 添加单元测试,修复部分错误 2026-03-21 11:13:13 +08:00