AST必備api

1.scope系列

scope.block
scope.getBinding
scope.getOwnBinding
scope.rename
scope.rename
scope.hasBinding
scope.hasownBinding
scope.getAllBindings
scope.hasReference
scope.getBindingIdentifier
scope.generateUidIdentifier

2.path系列

path.get
path.find

path.parentPath
path.findparent
path.getFunctionParent
path.getStatementParent

path.insertBefore
path.insertAfter
path.replacewith
path.replaceWithmultiple
path.replaceLine
path.replacewithSouceString

path.inList
path.key
path.container
path.listKey
path.getSibing
path.remove

path.stop
path + ""

補(bǔ)充valueToNode

3.type系列

補(bǔ)充:

objectExpression

objectproperty

4.其他系列

body
type
argument
declarations
kind
id
name
init
properties
extra
method
key
computed
value
directives
left
right
operator
container
parent
hub
contexts
data
state
opts
skipkey
parentpath
node
listkey
key
node
scope
constantviolations
contant
referencepaths
referenced
references

在抽象語(yǔ)法樹(shù) (AST) 中,語(yǔ)句(Statement)和表達(dá)式(Expression)是兩個(gè)重要的概念菠劝。

語(yǔ)句通常包括:

塊語(yǔ)句  (BlockStatement) - 代碼塊 { }
if語(yǔ)句  (IfStatement)
switch語(yǔ)句  (SwitchStatement)
while語(yǔ)句  (WhileStatement)
do-while語(yǔ)句  (DoWhileStatement)
for語(yǔ)句  (ForStatement)
continue語(yǔ)句  (ContinueStatement)
break語(yǔ)句  (BreakStatement)
return語(yǔ)句  (ReturnStatement)
throw語(yǔ)句  (ThrowStatement)
try-catch語(yǔ)句  (TryStatement)
表達(dá)式語(yǔ)句  (ExpressionStatement)
空語(yǔ)句  (EmptyStatement)

表達(dá)式包括:

字面量  (Literal) - 如字符串凡蜻、數(shù)字准浴、布爾值
標(biāo)識(shí)符  (Identifier) - 如變量名
一元表達(dá)式  (UnaryExpression) - 如 !a
二元表達(dá)式  (BinaryExpression) - 如 a + b
賦值表達(dá)式  (AssignmentExpression) - 如 a = 1
函數(shù)調(diào)用  (CallExpression) - 如 fn()
對(duì)象表達(dá)式  (ObjectExpression) - 如 {a: 1}
數(shù)組表達(dá)式  (ArrayExpression) - 如 [1, 2]
判斷表達(dá)式  (ConditionalExpression) - 如 a ? b : c

語(yǔ)句主要用于控制代碼執(zhí)行流程,表達(dá)式用于描述值。在AST中識(shí)別語(yǔ)句和表達(dá)式類型,可以幫助分析語(yǔ)法并轉(zhuǎn)換代碼尝丐。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子疲恢,更是在濱河造成了極大的恐慌,老刑警劉巖瓷胧,帶你破解...
    沈念sama閱讀 216,324評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件显拳,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡搓萧,警方通過(guò)查閱死者的電腦和手機(jī)萎攒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)矛绘,“玉大人耍休,你說(shuō)我怎么就攤上這事』醢” “怎么了羊精?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,328評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我喧锦,道長(zhǎng)读规,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,147評(píng)論 1 292
  • 正文 為了忘掉前任燃少,我火速辦了婚禮束亏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘阵具。我一直安慰自己碍遍,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布阳液。 她就那樣靜靜地躺著怕敬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪帘皿。 梳的紋絲不亂的頭發(fā)上东跪,一...
    開(kāi)封第一講書(shū)人閱讀 51,115評(píng)論 1 296
  • 那天,我揣著相機(jī)與錄音鹰溜,去河邊找鬼虽填。 笑死,一個(gè)胖子當(dāng)著我的面吹牛曹动,可吹牛的內(nèi)容都是我干的卤唉。 我是一名探鬼主播,決...
    沈念sama閱讀 40,025評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼仁期,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼桑驱!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起跛蛋,我...
    開(kāi)封第一講書(shū)人閱讀 38,867評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤熬的,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后赊级,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體押框,經(jīng)...
    沈念sama閱讀 45,307評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評(píng)論 2 332
  • 正文 我和宋清朗相戀三年理逊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了橡伞。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,688評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡晋被,死狀恐怖兑徘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情羡洛,我是刑警寧澤挂脑,帶...
    沈念sama閱讀 35,409評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響崭闲,放射性物質(zhì)發(fā)生泄漏肋联。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評(píng)論 3 325
  • 文/蒙蒙 一刁俭、第九天 我趴在偏房一處隱蔽的房頂上張望橄仍。 院中可真熱鬧,春花似錦牍戚、人聲如沸侮繁。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,657評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)鼎天。三九已至舀奶,卻和暖如春暑竟,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背育勺。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,811評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工但荤, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人涧至。 一個(gè)月前我還...
    沈念sama閱讀 47,685評(píng)論 2 368
  • 正文 我出身青樓腹躁,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親南蓬。 傳聞我的和親對(duì)象是個(gè)殘疾皇子纺非,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容