给定L

时间:2015-12-08 22:03:27

标签: context-free-grammar pushdown-automaton

所以我的给定 L = {(a ^ m)(b ^ n)(c ^ k)| m,n,k> = 0,并且m = k,n = k或m = N}

我发现棘手的部分是最终规则,其中 m = k,n = k或m = n 。我无法弄清楚如何将其纳入CFG的规则。关于(a ^ m)(b ^ n)(c ^ k)的第一部分,我认为这只是a,b和c的有序序列。要查看表单: aaaaabbbbbccccc

S0 = a|aS0|aS1|Epsilon
S1 = b|bS1|bS2|Epsilon
S2 = c|cS2|Epsilon

就像我说的那样,我认为我做的上述尝试涵盖了初始形式,但没有翻译给定的规则。

我想的是,我可以通过一致地添加& b或b& c来构建它。我想要做的事情可能是:

S1 = aS1b

这样,当我们将 aS1b 置于 S1 时,我们会看到 a b 等效增长: aaaS1bbb 含义 m & n 可能相同。我无法弄清楚的是如何确保在语法中实现这一点。以这种方式使它成为可选的,但不是必需的。

有任何想法或提示可以解决这个问题吗?

0 个答案:

没有答案