編譯原理中的NULLABLE集合

定義

非終結符X屬於NULLABLE集合,當且僅當:

基本:X → ε

歸納:X → Y1…Yn, 且Y1…Yn都是非終結符並且都屬於NULLABLE集合

NULLABLE集合表示一個非終結符是否可以推出空串 ε 。

意義

屬於NULLABLE意味着不用接受任何輸入即可跳過該非終結符。

 
S → A B C | s
A → a | ε
B → C | a
C → c | ε

NULLABLE集合

{A, C}            //第一輪,只有A,C可以推出空串
{A, C, B}            //第二輪,B可以推出C,然後可以推出空串,所以把B加到NULLABLE集合中
{A, C, B, S}            //第三輪,A,B,C都可以推出空串,所以S也可以推出空串

注意:當且僅當產生式右側的式子均是非終結字符並且都可以推出 ε ,產生式左側的非終結符才能加入到NULLABLE集合中。

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