Boa tarde a todos!
Me desculpem se o topico esta fora do local certo, Estou precisando fazer uma calculadora em JAvacc, porem nao estou conseguindo sequer pensar numa implementacao da funcao exponeciacao na calculadora ja que eh a primeira vez que estou vendo Javacc, alguem mais experiente poderia me ajudar???
Agradeco desde ja!
Pelo menos você já definiu a sua linguagem da calculadora?
Sem definir a sua linguagem (nem que seja informalmente) não dá para usar nenhum “compiler-compiler”, como o JavaCC ou o antlr.
Não se esqueça que a exponenciação normalmente usa associatividade à direita (“right associativity” - estou pondo em inglês para ficar mais fácil de procurar no Google), não à esquerda.
2 * 3 * 4 é a mesma coisa que (2 * 3) * 4.
Mas
2 ^ 3 ^ 4 é na verdade 2 ^ (3 ^ 4).
Dê uma olhada neste site para ver um exemplo de um programa em JavaCC que implementa expressões aritméticas.
http://www.singularsys.com/jep/doc/html/operators.html
Obrigado pela resposta!
Examinareia estes sites que vc mandou!