编译原理中的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集合中。

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