cálculo de expressão dinâmica

Alguém já fez alguma rotina que fizesse o cálculo de uma
expressão dinâmica?

Algo assim:


String expressao = "A + B * ( C / D ) + A^2";

valores.setA(10);
valores.setB(1);
valores.setC(-1);
valores.setD(2);

double resultado = calcula(expressao,valores);

Sim
www.ognl.org
groovy.codehaus.org
www.mozilla.org/rhino

Ufa!
Só de expressões simples? Procura nos exemplos de qualquer parser parser.

O Rafael me passou vários links que ajudaram bastante.

Se alguém precisar disso tb:

http://www.bestcode.com/html/jbcparser.html
http://www.singularsys.com/jep/
http://www.singsurf.org/djep/html/
http://www.japisoft.com/formula/
http://math.hws.edu/javamath/index.html

:wink: