所以我的给定 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 可能相同。我无法弄清楚的是如何确保在语法中实现这一点。以这种方式使它成为可选的,但不是必需的。
有任何想法或提示可以解决这个问题吗?