編譯原理學習筆記(二十六)~習題:構造基於LR(0)、LR(1)項目的識別活前綴的DFA

題目

文法:
S–>Aa | bAc | dc | bda
A–>d

   通過構造基於LR(0)、LR(1)項目的識別活前綴的DFA,判斷上面文法

  1. 是否是SLR(1)文法??
  2. 是否是LALR(1)文法??
  3. 是否是LR(1)文法??

依次說明理由。

FOLLOW集
在這裏插入圖片描述
(1)基於LR(0)項目的識別活前綴的DFA
在這裏插入圖片描述
(2)基於LR(0)、LR(1)項目的識別活前綴的DFA
在這裏插入圖片描述
判斷:

  • 基於LR(0)項目的識別活前綴的DFA中:在I4第一個項目要求面對c移進到8,第二個要求r5歸約,I7第一個項目要求面對a移進到10,第二個要求r5歸約。所以存在衝突, 不是SLR(1) 的!
  • 基於LR(1)項目的識別活前綴的DFA中:沒有同心項目集可以合併, 是LALR(1) 的, 也是LR(1)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章