使用liblua获取Lua语法树

问题描述 投票:0回答:1

是否可以使用liblua获取语法树?

我需要lua代码的AST,但我不能依赖ANTLR4,所以我正在寻找一个自包含的解决方案。由于我的主机应用程序已嵌入lua,liblua将是完美的。

如果没有liblua,在C ++中解析Lua还有哪些其他选择?

c++ parsing lua abstract-syntax-tree
1个回答
0
投票

内置的Lua解析器是一个单行编译器,它直接生成Lua VM指令。没有创建AST,将VM代码反编译为AST比使用您认为合适的任何解析器生成器创建解析器更复杂。

例如,Bison生成完全可接受的C ++代码,无需任何运行时。它有一个C ++ API,但也可以使用C模板并将结果编译为C ++程序。

© www.soinside.com 2019 - 2024. All rights reserved.