[英]Building Abstract Syntax Tree
我有解析樹,現在我已經按順序遍歷了解析樹,並且也生成了Symbol表。 但是,我如何為此構建AST?
這是我收集的(一些不可靠的資源):
這就是我需要做的嗎?
根據評論更新
在您的示例中,解析樹可能包含這樣的語句節點
(int)->(ageArray)->([)->(30)->(])->(;)
教授期望類似
(intArray)->(ageArray)->(30)
我猜。
您正在使解決方案變得簡單。 這不僅僅是遍歷樹並扔掉一些東西的問題。 AST代表程序語言的構造。 為了構建AST,您首先必須設計AST的外觀。
例如,“ IF”節點可能設計為具有布爾方程元素(它本身也可能是樹),真語句樹和假語句樹。
您必須根據要編譯的語言來設計所有元素的外觀。 一旦有了該設計,然后通常在分析樹上使用詞法分析器來生成AST。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.