analizador de expresiones booleanas en java
¿Existen bibliotecas o técnicas de java para analizar expresiones booleanas de forma poco sistemática?
A lo que me refiero se le da una expresión como esta:
T && ( F || ( F && T ) )
Podría descomponerse en un árbol de expresiones para mostrar qué token causó el valor 'F', como tal (tal vez algo como esto):
T && <- rhs false
( F || <- rhs false
( F && T ) <- eval, false
)
Estoy tratando de comunicar evaluaciones de expresiones booleanas a no programadores. He tocado con Anlr, pero no pude hacer mucho (parece tener una pequeña curva de aprendizaje).
No me opongo a escribirlo yo mismo, pero preferiría no reinventar la rueda.