什么是AST
AST(Abstract Syntax Tree)
,中文叫做抽象语法树,是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。之所以说语法"抽象"的,是因为这里的语法并不会表示出真实语法中出现的每个细节。比如,嵌套括号被隐含在树的结构中,并没有以节点的形式呈现;而类似于if-condition-then
这样的条件跳转语句,可以使用带有三个分支的节点来表示。(以上概念来自维基百科)。
JavaScript AST转换工具
对于JavaScript
而言,可以通过JS Parser
将JS
代码转换成AST
。目前比较常见的JS Parser
如下: