抽象語法樹(AST)是一種語法結構,用來表示程序中發生的函數。它基于程序的源代碼。在設計上通常是分層的,抽象語法樹從基本函數開始,向下流式顯示每個基本函數中涉及較多的函數和代碼。使用這種樹,程序員不必查看源代碼本身,...
抽象語法樹(AST)是一種語法結構,用來表示程序中發生的函數。它基于程序的源代碼。在設計上通常是分層的,抽象語法樹從基本函數開始,向下流式顯示每個基本函數中涉及較多的函數和代碼。使用這種樹,程序員不必查看源代碼本身,就更容易將代碼可視化,而源代碼本身的長度要長得多,并可能揭示代碼中的缺陷或弱點。樹被稱為抽象樹,不是因為它難以理解或具有抽象的形狀,而是因為它不包含代碼語法,如括號和其他不可避免地出現在代碼中的符號。抽象語法樹為程序員提供了一種快速查看通過編程來查看每個條件以及它是如何應用于程序的。當程序員構建一個程序時,他或她必須從諸如“if-then”語句和“or-else”語句來構建函數。在查看源代碼時,很難看到每個語句和條件是否都已完全滿足,以及所有函數是否都已正確創建。抽象語法樹為程序員提供了一種快速查看程序的方法,以查看每個條件以及它如何應用于程序的總體情況。該樹是以分層方式制作的。頂部是一個從主語句開始,分支向下流動以顯示滿足條件的內容。這將繼續,顯示整個程序的其他函數和條件。程序中的變量經常顯示,大多數編程語言都能生成抽象語法樹。抽象通常意味著格式錯誤、難以理解或無定形。抽象語法樹并非如此之所以使用“抽象”一詞,是因為樹并沒有按原樣顯示語法和編程,而是刪除了對顯示不重要的隱式符號。例如,在編程中,圓括號經常被大量使用,但是它們并沒有顯示在樹上。這是因為顯示這種語法需要更多的空間,使查看樹變得更加困難,而且程序員可以在源代碼中了解這些符號。如果程序員想看到這些輔助符號,通常使用一個具體的語法樹。這些樹類似于抽象的種類,只是它們對所有的符號進行了更詳細的描述。這種樹更適合于查找丟失的符號或代碼塊,而抽象樹則更適合檢查程序的函數和變量
-
發表于 2020-08-07 02:10
- 閱讀 ( 723 )
- 分類:電腦網絡