我有这个语法:
G =(N,Epsilon,P,S)
带
N = {S, A, B}
Epsilon = {a},
P: S -> e
S -> ABA
AB -> aa
aA -> aaaA
A -> a
为什么这只是0型的语法?
我认为这是因为aA -> aaaA
,但我不知道它是如何与规则发生冲突的。
规则必须像这样构建:
x1 A x2 -> x1 B x2
while:
A是N的元素;
x1,x2是V *的元素;
和B是VV *的元素;
使用V = N united Epsilon
,我在这里看不到问题。
a来自V,A来自N,而A的右边可能是空字,也是V *的一部分,所以左边也没问题。
在右侧,再次有x1,是a,那么我们可以说aaA是VV *的一部分,aa是V而A是V *,而右边是x2,所以再次为空。
答案 0 :(得分:0)
"规则必须像这样构建: x1 A x2 - > x1 B x2 while:...." 是的,这是对的。但是,存在规则的等效定义(类型1语法): p-> q其中 p,q是V ^ +的元素,长度(p)< = length(q)和-naturally-p的元素为N. 你的语法只有规则,满足这种形式=>你的语法是1型