Associatividade

Por omissão, a associatividade na aplicação do (mesmo) operador é feita da esquerda para a direita:

  • a+b+c = ((a+b)+c)

No entanto, há operadores, como é o caso da potência, que podem requerer a associatividade inversa:

Este problema é resolvido em ANTLR4 de seguinte forma:

expr: <assoc = right> expr '^' expr
    | expr '*' expr
    | expr '+' expr
    | INT
    ;

Last updated