什么是抽象語法樹
抽象語法樹(Abstract Syntax Tree)也稱為AST語法樹崔列,是源代碼語法所對(duì)應(yīng)的樹狀結(jié)構(gòu)腊满。也就是說钢拧,一種編程語言的源代碼,通過構(gòu)建語法樹的形式將源代碼中的語句映射到樹中的每一個(gè)節(jié)點(diǎn)上最蕾。
活躍的js解析引擎
Babel AST
- @babel/parser
babel 解析語法樹依溯,內(nèi)部采用的是@babel/parser包,它依賴于acorn瘟则,生成的語法樹遵守 estree規(guī)范
babel運(yùn)行原理
- 先把源代碼生成抽象語法樹
- 根據(jù)目標(biāo)代碼的標(biāo)準(zhǔn)
- 使用插件把語法樹轉(zhuǎn)換為目標(biāo)代碼的語法樹
- 有語法樹再生成源代碼