非LL(1)文法到LL(1)文法的變換---編譯原理

LL(1)文法的性質

  • 無二義性
  • 不含左遞歸
  • 不含公共左因子

1.消除左遞歸

在這裏插入圖片描述
在這裏插入圖片描述

簡單講就是將左遞歸轉變成右遞歸

例:

在這裏插入圖片描述

2.提取左因子

在這裏插入圖片描述

例:

在這裏插入圖片描述

非LL(1)文法轉變成LL(1)後還需判斷一下是否爲LL(1)

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

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