使用liblua获取Lua语法树
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用liblua获取Lua语法树相关的知识,希望对你有一定的参考价值。
是否可以使用liblua获取语法树?
我需要lua代码的AST,但我不能依赖ANTLR4,所以我正在寻找一个自包含的解决方案。由于我的主机应用程序已嵌入lua,liblua将是完美的。
如果没有liblua,在C ++中解析Lua还有哪些其他选择?
答案
内置的Lua解析器是一个单行编译器,它直接生成Lua VM指令。没有创建AST,将VM代码反编译为AST比使用您认为合适的任何解析器生成器创建解析器更复杂。
例如,Bison生成完全可接受的C ++代码,无需任何运行时。它有一个C ++ API,但也可以使用C模板并将结果编译为C ++程序。
以上是关于使用liblua获取Lua语法树的主要内容,如果未能解决你的问题,请参考以下文章