0
這是我正在描述的圖片: 我的問題是,在一個抽象語法樹中,IF節點應該有大量的分支?設想一個直接連接到數百個語句的IF節點。它感覺不對,並且在視覺形式上看起來非常荒謬。這是AST的正確形成還是我錯了?在AST中,IF節點是否有大量的分支?
這是我正在描述的圖片: 我的問題是,在一個抽象語法樹中,IF節點應該有大量的分支?設想一個直接連接到數百個語句的IF節點。它感覺不對,並且在視覺形式上看起來非常荒謬。這是AST的正確形成還是我錯了?在AST中,IF節點是否有大量的分支?
試試這種方式。當你使用類似CodeDOM
的東西時,這也是你得到的。
實際上TrueBody
和FalseBody
每次都會有一個單獨的孩子 - StatementGroup
。這反過來將會有那麼多的孩子,就像那個街區裏有那麼多的孩子。類似地,如果存在多個條件,則節點將具有一個單節點,如說有AndCondition
的節點具有與子句一樣多的子節點。
這是'如果((a> b)和(a = c))'?它是'和'還是'或'?你從哪裏得到這張圖片?這看起來不對。 'if'的AST就像'[if] [1:condition] [2:if-body/true-body] [3:else-body/false-body]'。看到wiki [文章](https://en.m.wikipedia.org/wiki/Abstract_syntax_tree#/media/File%3AAbstract_syntax_tree_for_Euclidean_algorithm.svg) – inquisitive
我做到了。它應該是:if(a> b){a = c;有趣的(C); othersthat}我不確定它應該如何,所以我問了這個問題......身體是否應該能夠按照執行順序從左到右連接數百個節點,或者? – Accumulator