Programming languages 给定语言的乔姆斯基类型是什么?

Programming languages 给定语言的乔姆斯基类型是什么?,programming-languages,finite-automata,Programming Languages,Finite Automata,语法G生成语言L的定义如下: G=({x,y},{S,A,B,C},p,S) 其中p的元素为: S->ABA AB->AC CB->BBC CA->BBA A->A|E B->B 由G生成的语言L最准确地说是: A.乔姆斯基类型0 B.乔姆斯基类型1(上下文相关) C.乔姆斯基类型2(上下文无关) D.乔姆斯基3型(普通型) E.上述各项均不适用 我认为这是类型0,因为它不区分上下文。但我想知道这些规则可能会被简化为其他规则,变得上下文敏感或上下文无关等等。如何处理这类问题 语法G的定义如下:

语法G生成语言L的定义如下:

G=({x,y},{S,A,B,C},p,S)

其中p的元素为:

S->ABA

AB->AC

CB->BBC

CA->BBA

A->A|E

B->B

由G生成的语言L最准确地说是:

A.乔姆斯基类型0

B.乔姆斯基类型1(上下文相关)

C.乔姆斯基类型2(上下文无关)

D.乔姆斯基3型(普通型)

E.上述各项均不适用

我认为这是类型0,因为它不区分上下文。但我想知道这些规则可能会被简化为其他规则,变得上下文敏感或上下文无关等等。如何处理这类问题


语法G的定义如下:

G=({a,b},{S,a,b},p,S)

其中p是集合:

S->AB | AS

A->A | aA

B->B | bb

由G生成的语言L最准确地说是:

A.乔姆斯基类型0

B.乔姆斯基类型1(上下文相关)

C.乔姆斯基类型2(上下文无关)

D.乔姆斯基3型(普通型)

E.上述各项均不适用


我认为这是上下文无关的,因为LHS有一个非终结符。但是我不确定,因为这个规则可能会被简化,变成常规语法。

语法1是上下文敏感的(不确定为什么您认为它不是,因为它与上下文明确匹配)。语法2是与上下文无关的

语法1的语言看起来是
(a | E)b^k(a | E)
,其中k的形式是2^i,i是非负整数。这种语言似乎是上下文敏感的

语法2的语言看起来是
aa*(b | bb)
,这是常规语言

因为问题是关于语言的,而不是书面的语法,我想说1是上下文敏感的,2是规则的