考查下列文法: G(VT,VN,E,P) 其中:Vsub>T={+,*,(,),i);VN={E,T,F};E是开始符号;P为: E→E+T|T T→T*F|F F→(E

admin2019-06-12  28

问题 考查下列文法:
                   G(VT,VN,E,P)
   其中:Vsub>T={+,*,(,),i);VN={E,T,F};E是开始符号;P为:
       E→E+T|T
       T→T*F|F
       F→(E)|i
   F*F+T是该文法的一个句型,其中(1)是句柄,(2)是素短语,(3)是该句型的直接推导,(4)是该句型的最左推导,(5)是该文法的一个句子。

选项 A、T+(i+i)
B、i+(i+F)
C、i
D、(E)

答案C

解析 句型F*F+T的推导过程如下:
   EE+TT+TT*F+TF*F+T,因为ET*F+T,EF*F+T,T→F,所以F是句型F*F+T相对于产生式T→F的直接短语,又因为它是该句型的最左直接短语,所以F是该句型的句柄。
   同理,可分析出句型F*F+T的短语有F、F*F、F*F+T。由于素短语中至少应含有一个终结符,因此F不是素短语;由于F*F+T中包含了短语F*F,因此它也不是素短语。所以该句型的素短语是F*F。
   因为句型F*F+TF*F+T*F,所以F*F+T*F是该句型的直接推导。而F*F+I、F*F+F*F和i*i+T都不能由句型F*F+T直接推导出来。
   由于最左推导是对句型右部的最左非终结符进行推导,因此在第(4)空的选择答案中只有(E)*F+T满足此条件。
   因为句子是仅含终结符的句型,所以第(5)空的选择答案中只有i有可能是句子,而ETFi,所以i是该文法的一个句子。
转载请注明原文地址:https://jikaoti.com/ti/8rG7FFFM
0

最新回复(0)