Algo Conversion Notation Infixe en Notation Polonaise Inverse - Algo - Programmation
Marsh Posté le 26-10-2005 à 21:22:04
L'algo est donné c'est quoi le souci ? tu sais faire un getc un isdigit ... tu sais ce qu'est une pile et un boucle while ...
Allez vasy ! Libere le codeur qui est en toi
Marsh Posté le 26-10-2005 à 21:25:09
bon, je repose la question (visiblement cetait pas clair) :
je cherche qqun (ou un lien) qui pourrait m'expliquer ce qu'est "l'associativite a gauche" et a droite.
PS : je n'ai ni le droit d'utiliser getc ni isdigit...
Marsh Posté le 26-10-2005 à 21:30:49
Google ????
Citation : Un opérateur associatif à gauche signifie que l'opérande de gauche est d'abord calculée. |
Regarde du côté des grammaires et générateurs d'analyseur syntaxique/lexical ... bison et flex en l'occurence.
Marsh Posté le 26-10-2005 à 18:50:18
Bonjour,
je me penche sur cet algo (voir ci dessous : source wikipedia) pour convertir une expression en notation infixe en notation polonaise inverse.
seulement je n'arrive pas a comprendre de quoi il s'agit quand on parle d'associativite a gauche ou a droite.
------------------------------------------------------
tant quil y a des tokens à lire:
lire le token
si cest un nombre lajouter à la sortie
si cest un opérateur o1 alors
1) sil y a un opérateur o2 sur le haut de la pile et si lune des conditions suivantes est remplie.
o1 est associativité à gauche et sa priorité est inférieure ou égale à celle do2, ou
o1 est associativité à droit et sa priorité est inférieure à celle do2,
retirer o2 de la pile pour le mettre dans la sortie
2) mettre o1 sur la pile
si le token est une parenthèse gauche, le mettre sur la pile
si le token est une parenthèse droite, alors dépiler les opérateurs et les mettant dans la sortie jusquà la parenthèse gauche qui elle aussi sera dépilée, mais pas mise dans la sortie. Si toute la pile est dépilée sans touver de parenthèse gauche cest quil y a un mauvais parenthésage.
après la lecture du dernier token il faut dépiler tous les opérateurs de la pile et mettre chaque élément dans la sortie.
Sil y a une parenthèse gauche cest quil y a eu un mauvais parenthésage.
------------------------------------------------------
du coup, je narrive pas a traduire cette partie de l'algo en C
Quelqu'un pourrait il mexpliquer de quoi il sagit ?
Merci davance.