是否可以使用liblua获取语法树?
我需要lua代码的AST,但我不能依赖ANTLR4,所以我正在寻找一个自包含的解决方案。由于我的主机应用已嵌入lua,liblua将是完美的。
如果没有liblua,还有哪些其他选项可以在C ++中解析Lua?
答案 0 :(得分:0)
内置的Lua解析器是一个单行编译器,它直接生成Lua VM指令。没有创建AST,将VM代码反编译为AST比使用您认为合适的任何解析器生成器创建解析器更复杂。
例如,Bison生成完全可接受的C ++代码,无需任何运行时。它有一个C ++ API,但也可以使用C模板并将结果编译为C ++程序。