问题
单项选择题
考查下列文法:G(VT,VN,E,P)
其中:VT=+,*,(,),i)
VN=E,T,F
E 是开始符号
P: E→E+T|T
T→T*F|F
F→(E)|I
F*F+T是该文法的一个句型,其中, (28) 是句柄, (29) 是素短语 (30) 是该句型的直接推导, (31) 是该句型的最左推导, (32) 是该文法的一个句子。
(32)处填()。
A.T+(i+i)
B.i+(i+F)
C.i
D.(E)
答案
参考答案:C
解析:
[分析]: 根据形式文法的定义可直接获得本题的答案。句型F*F+T的推导过程如下:E→E+T→T+ T→T*F+T→F*F+T,所以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+T→F*F+T*F,所以F*F+T*F是该句型的直接推导。而F*F+T,F*F+T*F和i*i+T都不能由句型F*F+T直接推导出来。由于最左推导是对句型右部的最左非终结符进行推导,所以在空(4)的选择答案中只有(E)*F+T满足此条件。因为句子是仅含终结符的句型,而在空(5)的供选择答案中只有i有可能是句子,所以应该选择答案C。