如何从 C++ 操作 lua 语法树,并从语法树最终生成 lua 代码

2019-09-12 12:45:21 +08:00
 AbaoFromCUG

应用场景

在桌面端( C++编写),用户通过设置动画的播放时长、触发条件、播放动作(出现消失等),但最终需要导出为 lua 文件供 SDK 进行渲染,以前的做法是通过手动拼接字符串,最终导出为脚本,这样不够高效,且需要考虑的边界条件比较多,现在设想通过不同的 C++数据体导出生成自己的 body 代码,最终通过在 C++操作组装 lua AST,最终导出根据 ast 导出脚本(与脚本解析生成 AST 刚好相反)

类似的工具

目前类似的轮子找到recast,是用来 js 操作 js 语法树最终导出 js 脚本的工具

metaluaLua 代码分析工具,自带 AST,但是是 lua 写的

期望能找到一个 C++写的能直接操作 lua 语法树的轮子,不然就只能自己造轮子,成本比较高

2079 次点击
所在节点   计算机
2 条回复
ccpp132
2019-09-12 13:26:48 +08:00
如果就是生成的话,ast 其实不方便,比较推荐搞个模版引擎
AngelCriss
2019-10-05 08:48:14 +08:00
lua 有 opcode

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/600354

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX