Programming languages 给定语言的乔姆斯基类型是什么?
语法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,因为它不区分上下文。但我想知道这些规则可能会被简化为其他规则,变得上下文敏感或上下文无关等等。如何处理这类问题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的定义如下: 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是规则的