最近看的好几篇论文里都提到了AST,所以想对这个知识点总结一下。在这几篇论文的里,AST主要就是用来解析TAP规则的。
抽象语法树是什么?
抽象语法树其实是源代码的抽象语法结构的树状表现形式。我们可以把代码转化为一颗抽象语法树(AST),这颗树定义了代码的结构,通过操纵这颗树,我们可以精准的定位到声明语句、赋值语句、运算语句等等,实现对代码的分析、优化、变更等操作。
一个在线工具,可以可视化介意出一段代码的抽象语法树:https://resources.jointjs.com/demos/javascript-ast