S -> aB | lamda
B -> bB
B是无用的生产。现在移除后
S -> a | lamda
它是否正确 ?
生产 S -> aB 不会终止。因为 B -> bB 不会终止。所以产生式 S -> aB 是没用的。
答案应该是
S -> lambda
男孩,我已经很久没有看过 CFG 的了。B 产生无限系列的 b,不是吗 (b*?)
假设 b* 表示无限系列的 B,我想我会简化为:
S -> ab* | λ
编辑:
是的,我上面的回答是错误的。“无用产生式”的定义是从未在终端字符串的派生中使用的产生式。由于 B 是非终端的,因此可以将其删除,因此 S -> λ。
+1 对 user574183 的回答。