定义
非终结符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集合中。