簡體   English   中英

創建解析樹的目的是什么?

[英]What is the purpose of creating a parse tree?

為代碼創建解析樹有什么用? 這聽起來可能很愚蠢,但是我只是不明白它是如何工作的。 我了解到,在算術運算中考慮優先級可能很有用。 但是為什么要將代碼轉換成樹呢? 那之后會發生什么呢? 我似乎無法理解解析樹能做什么。 我正在嘗試編寫一個很小的解釋程序,該程序可以進行算術運算和簡單的if條件。 我寫了一個小語法。 我有一棵解析樹。 但是不知道該怎么辦。

好吧,如果您有一個分析樹,並且想要完成解釋器,那么您要做的就是遞歸地評估樹。

要評估代碼塊,請逐一評估其每個語句。

要評估if語句,請評估條件表達式,然后根據結果評估then分支或else分支(如果存在)。

要評估加法,請評估每個操作數,然后將它們加在一起。

具有語法樹意味着這些操作是自然的,它們通常涉及評估當前節點的子節點(某些),然后可能將結果組合在一起。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM