【发布时间】:2016-02-15 04:38:07
【问题描述】:
构造一个生成L的文法:
L = {a^p b^m c^n|n>=0, m>=0, p=m+n}
到目前为止,我已经尝试了这么多:
S->A
A->aAb|B
B->aBc|epsilon
我的语法对吗?
【问题讨论】:
构造一个生成L的文法:
L = {a^p b^m c^n|n>=0, m>=0, p=m+n}
到目前为止,我已经尝试了这么多:
S->A
A->aAb|B
B->aBc|epsilon
我的语法对吗?
【问题讨论】:
我不能给出数学证明,但让我们试着列举一下你的语法可以产生的字符串:
ε, ac, aacc, aaaccc, ... (a 和 c 的 # 更相同),ab, aabb, aaabbb, ... (a 和 b 的 # 更相同), aacb, aaaccb, aaacbb, aaaaccbb , ...(更多#a与#b+c相同)
现在可以:
a^p b^m c^n
表示必须严格履行订单?即先a然后b然后c。如果是,您可以自己看到 b 和 c 在您的语法中实际上是交换的。
【讨论】: