终端的可空性

时间:2015-01-04 09:33:51

标签: context-free-grammar automata-theory

S -> AB
A -> aAA | ε
A -> bBB | ε

所以在上面的例子中,事情是相当直接的,你只需找到可空的符号,消除ε,并构建一个新的生产,可以在没有空字符串的情况下完成工作,我们得到了这个......

S -> AB | A | B
S -> aAA | aA | aA | a
S -> bBB | bB | bB | b

然后我遇到了这个例子

S -> ABaC
A -> B
B -> b | ε
C -> c | ε

现在A产生B,B可以清楚地产生一个空字符串。 A是否可以为空是否是S并且如果不直接生成可终结终端,是否可以使终端无效?

1 个答案:

答案 0 :(得分:0)

如果我没记错的话,A可以为空,因为B可以清楚地产生ε。但是,S不可为空,因为在其生产规则中始终存在终端 a