改变语法问题

时间:2011-02-03 08:58:55

标签: context-free-grammar

S -> aB | lamda
B -> bB
B是无用的制作。现在删除后

S -> a | lamda

这是对的吗?

2 个答案:

答案 0 :(得分:2)

生产S - > aB不会终止。因为B - > bB不会终止。所以生产S - > aB没用。

答案应该是

S -> lambda

答案 1 :(得分:1)

男孩,因为我看过CFG,所以这是很长的时间。 B产生无限的b系列,不是(b *?)

假设b *表示无限系列的B,我想我会减少到:

S - > ab * | λ

修改

是的,我上面的回答是错误的。 “无用生产”的定义是一种从未用于推导终端字符串的生产。由于B是非终端的,因此可以将其除去,因此S - > λ

+1来自user574183的答案。