Lua函数的抽象语法树

时间:2018-04-07 16:57:08

标签: lua abstract-syntax-tree

我是Lua的新手,我正在阅读有关AST(抽象语法树)的内容,但还没有完全了解它。

我在Lua中写了一个简单的“Hello-World”函数:

function foo()
    value = 10
    num = "to the"
    if value > 2 then
       print("Hello World")
    end
return value
end
print(foo())

输出的简单程序是:

Hello World
10

我想构建一个抽象语法树,但不知道在哪里以及如何开始。

我读到了here的语法,但是没有弄清楚如何“设计”/“绘制”想要的树。

1 个答案:

答案 0 :(得分:3)

我首先研究构建AST的现有模块的输出,因为它将更清楚树的元素是什么以及它们如何与您编写的代码相对应。您可以从Metalua开始。