目录1. AST 是什么?2. AST 有什么用途?3. 基本编译过程?4. 有哪些主流 AST 工具?
1. AST 是什么?
在计算机科学中,抽象语法树(abstract syntax tree 或者缩写为 *AST*),或者语法树(*syntax tree*),是源代码的抽象语法结构的树状表现形式,这里特指编程语言的源代码。树上的每个节点都表示源代码中的一种结构。之所以说语法是「抽象」的,是因为这里的语法并不会表示出真实语法中出现的每个细节。
例如:
var a = 3;a + 5
AST:
AST 用途有很多:
代码转换(例:Babel)
语法检查(例:JSLin