Parsing LR解析器的语法扩展

Parsing LR解析器的语法扩展,parsing,grammar,Parsing,Grammar,我有以下基本算术表达式的语法 E -> E + T E -> T T -> T * F T -> F F -> (E) F -> id 其中E是表达式,T是项,F是因子。我想知道如何扩展这个语法来支持进一步的算术运算,比如可能用^或对数表示的指数 谢谢由于指数具有更高的优先级,您可以使用以下语法: E -> E + T E -> T T -> T * F T -> F F -> G ^ F F -> G G -> l

我有以下基本算术表达式的语法

E -> E + T
E -> T
T -> T * F
T -> F
F -> (E)
F -> id
其中E是表达式,T是项,F是因子。我想知道如何扩展这个语法来支持进一步的算术运算,比如可能用^或对数表示的指数


谢谢

由于指数具有更高的优先级,您可以使用以下语法:

E -> E + T
E -> T
T -> T * F
T -> F
F -> G ^ F
F -> G
G -> log(E)
G -> (E)
G -> id

F->G^F
,因为求幂通常是右关联的。2^3^4是2^81,而不是2^12。