二義性文法的理解和消除方法

給定文法G,如果存在句子s,它有兩棵不同的分析樹,那麼稱G是二義性文法 從編譯器角度,二義性文法存在問題: 同一個程序會有不同的含義 因此程序運行的結果不是唯一的 一個句子有多於一棵分析樹,僅與文法和句子有關,與採用的推導方式無關。 懸空else問題 在複合if語句中,可能then多於else,使得else不知與哪個then結合.一般原則是右結合,即else與左邊最靠近的then結合。改寫文法的根
相關文章
相關標籤/搜索