簡體   English   中英

解析樹和推導?

[英]Parsing Tree and Derivation?

我不明白解析樹和推導之間的關系。 解析樹相對於推導是不變的,但這是否意味着無論推導(最右邊或最左邊)解析樹保持不變? 或者根據方法(最右邊或最左邊)解析樹是否改變? 請幫助我對不起我的英語不好。

解析樹是推導的記錄。 樹的每個非葉節點都是單個推導步驟的結果。

在解析樹的根部和推導的開頭,您可以找到語法的開始符號。 推導步驟將非終結符替換為左側具有該非終結符的某些產生式的右側。 在樹中,對應於非終結符的節點被賦予一系列子節點,每個子節點在產生式的右側都有一個符號。 終端符號成為葉節點,非終端最終將成為子樹的頂部。

如果語法是明確的,則每個可派生的句子只有一個解析樹。 但是該解析樹表示大量可能的推導,除非語法是線性的(即每個產生式的右側最多包含一個非終結符)。 在正在構建的推導中,您可以選擇任何非終端進行下一個推導步驟; 在解析樹中,您可以選擇表示尚未有子節點的非終端的任何節點。

最左邊和最右邊的推導只是眾多可能性中的兩種。 (同樣,除非語法是線性的,在這種情況下,最左邊和最右邊的推導是相同的推導。)但是推導不必是最左邊或最右邊的。 在每一步,它可以選擇任何非終端,而不僅僅是最左邊或最右邊的一個。 在樹表示中,可能的推導可以由節點的任何有效拓撲排序生成。

但這實際上並不重要。 唯一有用的實際問題是語法中的每個句子是否存在不止一個不同的解析樹,這與詢問是否存在多個最左推導或多個最右推導完全相同。

暫無
暫無

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

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