定義
非終結符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集合中。