文法G=({E},{+,*,(,),a},P,E),其中P由下列产生式组成E->E+E|E*E|(E)|a。它生成由a,+,*,(,)组成的算术表达式,该文法在乔姆斯基分层中属于(33)型文法,其对应的自动机是(34),如产生句子a*a+a,它的派生树是(

admin2010-01-23  32

问题 文法G=({E},{+,*,(,),a},P,E),其中P由下列产生式组成E->E+E|E*E|(E)|a。它生成由a,+,*,(,)组成的算术表达式,该文法在乔姆斯基分层中属于(33)型文法,其对应的自动机是(34),如产生句子a*a+a,它的派生树是(35),且最左派生由(36)种,该文法是(37)。

选项 A、非二义性
B、二义性
C、单一性
D、多义性

答案B

解析 乔姆斯基定义了4种文法类型,他们之间的差别是按文法G= (VN,VT,P,S)的P所允许的产生式的形式加以区分的。如果P中的每个产生式形式如A->P,其中A为非终结符,P为P*,则称此文法为2型文法或上下文无关文法。对应的语言称为上下文无关语言,对应的自动机称为下推自动机。题中的文法属于1型对应的下推自动机。
       
   产生句子a*a+a的派生树有两棵,如图3所示:
   这是三叉树,最左派生有两种,它们是
   E= >E+E= >E*E+E= >a*E+E= >a*a+E= >a*a+a
   E= >E*E= >a*E= >a*E+E= >a*a+E= >a*a+a
   因此,该文法是二义的。
转载请注明原文地址:https://kaotiyun.com/show/l0xZ777K
0

最新回复(0)