Salut fredericmazue,
Merci pour ta réponse. Avant de poster, j'avais effectivement regardé le topic auquel tu fais référence. Cela résolvait bien mon problème, mais, en fait, je fais ça dans le cadre d'un projet de fac de réalisation d'un tableur, et l'un des points intéressants est celui de l'évaluation de formules, donc il ne s'agit pas de prendre un truc tout fait ;)
Par contre, j'ai trouvé en cherchant la réponse à mon problème. Je l'explique en deux mots ici au cas où ça serve à quelqu'un par la suite: en fait, la méthode parse() du parser retourne un Objet de type Symbol, dont l'attribut value contient le RESULT correspondant à l'axiome de la grammaire écrite avec CUP. Il suffit donc de faire un truc du style :
Float f = (Float)new parser(new Yylex(new StringReader("32-2"))).parse().value;
System.out.println("Resultat: " + f);
Rien que ça :wink:
Salut fredericmazue,
Merci pour ta réponse. Avant de poster, j'avais effectivement regardé le topic auquel tu fais référence. Cela résolvait bien mon problème, mais, en fait, je fais ça dans le cadre d'un projet de fac de réalisation d'un tableur, et l'un des points intéressants est celui de l'évaluation de formules, donc il ne s'agit pas de prendre un truc tout fait ;)
Par contre, j'ai trouvé en cherchant la réponse à mon problème. Je l'explique en deux mots ici au cas où ça serve à quelqu'un par la suite: en fait, la méthode parse() du parser retourne un Objet de type Symbol, dont l'attribut value contient le RESULT correspondant à l'axiome de la grammaire écrite avec CUP. Il suffit donc de faire un truc du style :
Rien que ça :wink: