某程序设计语言的表达式由运算符91、92、93、标识符、(、)组成。其中91、92的优先级相同,93的优先级低于91、92,优先级相同的运算符从右向左计算,可以用括号改变运算,由这种表达式的文法可描述为(28)。(设E为识别符号,文法字汇表V={E,t,F

admin2009-02-15  41

问题 某程序设计语言的表达式由运算符91、92、93、标识符、(、)组成。其中91、92的优先级相同,93的优先级低于91、92,优先级相同的运算符从右向左计算,可以用括号改变运算,由这种表达式的文法可描述为(28)。(设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。
转载请注明原文地址:https://kaotiyun.com/show/48xZ777K
0

相关试题推荐
最新回复(0)