为什么这个语法不是上下文敏感的?

时间:2015-11-15 18:18:37

标签: grammar formal-languages chomsky-hierarchy

我有这个语法:

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,所以再次为空。

1 个答案:

答案 0 :(得分:0)

"规则必须像这样构建: x1 A x2 - > x1 B x2 while:...." 是的,这是对的。但是,存在规则的等效定义(类型1语法): p-> q其中 p,q是V ^ +的元素,长度(p)< = length(q)和-naturally-p的元素为N. 你的语法只有规则,满足这种形式=>你的语法是1型