首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
宝塔
V2EX  ›  计算机

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

  •  
  •   AbaoFromCUG · 69 天前 · 865 次点击
    这是一个创建于 69 天前的主题,其中的信息可能已经有所发展或是发生改变。

    应用场景

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

    类似的工具

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

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

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

    2 回复  |  直到 2019-10-05 08:48:14 +08:00
        1
    ccpp132   69 天前   ♥ 1
    如果就是生成的话,ast 其实不方便,比较推荐搞个模版引擎
        2
    AngelCriss   46 天前
    lua 有 opcode
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4189 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 20ms · UTC 06:54 · PVG 14:54 · LAX 22:54 · JFK 01:54
    ♥ Do have faith in what you're doing.