Bonjour,
Je suis un peu null en modelisation et en algo donc je demande votre aide sur un projet que j'ai eu du mal à commencer:
Ecrire un programme qui calcule les expressiosn sous forme + 3 2 = 5
* + 5 - 6 3 * 8 + 5 6 = (5 + (6-3)) * (8*(5+6)) = 704 et non pas 80
En gros j'ai remarqué que la grammaire est de type :
exp = op nombre nombre
| op exp exp
enfin je suppose que c bon, c moi qui le dit c pas dans le sujet
Donc c une calculatrice polonaise prefixée je souhaite pour cela ecrire :
(le langage c'est le CPP)
1 - une Classe Lexeur
2 - une classe Parseur
3- une classe Arbre et Noeud
4 - et what else ?
je ne sais pas ou commencer pour arriver au resultat voulu? quelqu'un pourrais m'aider avec une bonne doc SVP
rien trouvé sur le net
surtout comment parser recursivement, comment cree l'arbre et comment evaluer (j'imagine que ce dernier c facile c juste un parcours infixée)
Je vous remercie
EDIT:
Je tiens juste a ajouter les contraintes lol
pas d'enum ni de switch
et on doit imperativement profiter des avantages de la prog OO en cpp
d'ou mon appel à l'aide sinon j l'aurai fait à l'arache comme d'hab lol
merci encore
Partager