Lua 函数的抽象语法树

我最近学习 Lua,看到了 AST(抽象语法树)的相关内容,但是还不太理解。

我写了一个简单的“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

我想要构建一个抽象语法树,但是不确定该从哪里和如何开始。

我阅读了这里的语法介绍,但是还没有弄清楚如何“设计”/“绘制”出想要的语法树。

点赞
用户1442917
用户1442917

我会先研究构建抽象语法树的现有模块的输出,因为这将使树的元素及其与您编写的代码的对应关系更加清晰。您可以从 Metalua 开始。

2018-04-07 17:27:45