Nilseu,
Avalia��o de express�es em tempo de execu��o depende de um avaliador de
express�es, e o desenvolvimento deste depende das tuas necessidades.
Express�es aritm�ticas simples podem ser resolvidas com o uso do Jep
(http://www.singularsys.com/jep/), que nada mais � que o resultado da
compila��o de uma gram�tica com a��es sem�nticas usando o JavaCC
(http://www.webgain.com/products/java_cc/), esta sim uma poderosa ferramenta
para desenvolvimento de avaliadores sint�ticos, interpretadores,
compiladores e afins. Com o java.util.regex.* voc� consegue fazer a an�lise
sint�tica da express�o ( valid�-la ), mas ter� que desenvolver toda a
'interpreta��o' da express�o.
[]'s
----------------------------------------
Cristofer Weber
Equipe de Projetos
Focco Inform�tica Ltda
Caxias do Sul - RS
www.focco.com.br
[EMAIL PROTECTED]
----------------------------------------
-----Mensagem Original-----
De: "Nilseu Padilha" <[EMAIL PROTECTED]>
Para: <[EMAIL PROTECTED]>
Enviada em: quinta-feira, 23 de janeiro de 2003 12:03
Assunto: [enterprise-list] Avaliacao de Expressoes
> E ai pessoal,
>
>
> como eu avalio uma expressao aritmetica obtida em tempo de excucao? Alguma
coisa
> do genero (em pseudo - javanes):
>
> Expression exp = new Expression ("($1 + $2) * 10");
> exp.setParam(1, 9.5f);
> exp.setParam(1, 10);
>
> double res = exp.eval();
> BigDecimal res2 = exp.eval();
>
>
> pelo menos com uma olhada preliminar no java.util.regex.* nao achei nada
relativamente pronto. E o Jakarta
> Regexp se ao menos tivesse uma documentacao "howto" afora o javadoc.
>
> Seria alguma coisa simples como o eval do javascript.
>
>
> Valeu,
>
> <Padilha id="Nilseu">
> Nilseu Perside Ortiz Padilha Junior
> Desenvolvedor Java - J2EE
> Immediate Consultoria e Sistemas
> http://www.immediate.com.br
> Ciencia da Computacao - ULBRA
> <Quote>
> Rejeitamos reis, presidentes e votos. Acreditamos em puro consenso e
codigo eficiente. - Dave Clark
> </Quote>
> <Quote>
> One exam does not a (J2EE) architect make. - Master Yoda
> </Quote>
> </Padilha>
>
>
> ---------------------------------------------------------------------
> Para cancelar a subscri��o, envie mensagem para:
[EMAIL PROTECTED]
> Para comandos adicionais, envie mensagem para:
[EMAIL PROTECTED]
---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para:
[EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]