问题
单项选择题
某程序设计语言的表达式由运算符91、92、93、标识符、(、)组成。其中91、92的优先级相同,93的优先级低于91、92,优先级相同的运算符从右向左计算,可以用括号改变运算,由这种表达式的文法可描述为()。(设E为识别符号,文法字汇表V=E,t,F,(,),θ1,θ2,θ3,i
A.E→T|E01T|Eθ2T
E→F|Tθ3F
F→(E)|i
B.E→T|TO1E|Tθ2E
E→F|Fθ3T
F→(E)|i
C.E→T|Eθ3T
E→F|Tθ1F|Tθ2F
F→(E)|i
D.E→T|Tθ3E
E→F|F01T|Fθ2T
F→(E)|i
答案
参考答案:D
解析:
对于题中的要求可知,91、92的优先级相同,93的优先级低于91、92,则表明93比91、92先推导出来。因此A、B不成立。
又因为优先级相同的运算符从右向左计算,这表明应采用右递归,所以C不成立。故选D。