求FIRST()FOLLOW()以及LL(1)文法的判別---編譯原理

判定LL(1)文法前要先求FIRST()和FOLLOW()

  • 求FIRST()
    在這裏插入圖片描述
1,A -> 空,將 空 加入 firstA
2,A -> B... ,將 firstB-空 加入 firstA  
  A -> a... ,將 a 加入firstA
3,若A指向的第一個字符有指向空,則將下一個字符的first加入firstA
例子

在這裏插入圖片描述

  • 求FOLLOW()
    在這裏插入圖片描述
例子

在這裏插入圖片描述
說一下followT,先找firstE’,一個+,一個空,空的情況又需要找followE’,所以結果是firstE’加上followE’再減去空

LL(1)文法的判別

在這裏插入圖片描述

例子

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章