A-A+

写出一种高级语言的基本算术表达式的非二义性文法:运算符包括+ - * / **(幂运算) (

2022-08-12 20:26:42 问答库 阅读 197 次

问题详情

写出一种高级语言的基本算术表达式的非二义性文法:运算符包括+、-、*、/、**(幂运算)、(),基本运算对象只含常数和变量,常数和变量是本文法的终结符。


请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:表达式一表达式+E|表达式一E|EE→E*P|E/P|PP→F**P|FF→常数|变量|(表达式)
运算符+、一、*、/的运算规律为左结合,运算符**运算规律为右结合,运算符的优先级从高到低为:括号()、**、*与/同级、+与一同级。

考点:文法,算术