Groovy parseur et moteur d'exécution
Bonjour,
j'utilise groovy en tant que compilateur d'equation, c'est a dire que j'ai des equations comme par exemple : X = (A/B) / C avec A,B et C déjà définit en tant que variable dans la session groovy.
Dans ce contexte j'aimerais pouvoir recuperer les variables utilisées par mon equation, c'est a dire [A, B, C] apres l'execution de mon equation.
Pour l'instant mon code d'exection ressemble a ca :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| public GroovyResult evaluate(String equation) {
GroovyResult retValue;
Number value = -1;
String message = null;
try {
value = (Number) shell.evaluate(equation);
MotorLogger.getInstance().log("equation : " + equation + " evalué, le resultat est : " + value);
} catch (MissingPropertyException ex) {
message = "Il existe un parametre inconnu dans l'equation ";
MotorLogger.getInstance().logError(message);
MotorLogger.getInstance().logError(ex.getMessage());
} catch (CompilationFailedException ex) {
message = "Erreur de compilation, verifiez votre formule ";
MotorLogger.getInstance().logError(message);
MotorLogger.getInstance().logError(ex.getMessage());
} catch (Exception ex) {
message = "Erreur incunnue";
MotorLogger.getInstance().logError(message);
MotorLogger.getInstance().logError(ex.getMessage());
} finally {
retValue = new GroovyResult(value, message);
}
return retValue;
} |
avez vous une idée de comment faire ceci? avec le binding je peux récupérer la liste de variable exécuté (binding.getVariables()) mais pas plus.
merci