Bonjour,

Le but est de créer un interpréteur java pour du pseudo langage (TANTQUE ... FAIRE ...).
Pour l'instant j'étudie tout le process jusqu'a l'interprétation en me limitant aux opération arithmétique + * c'est à dire le calcul de chaque ligne d'un fichier qui contient
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
1+1
2*3+1
(1+2)*3
...
J'arrive a parser et a générer un fichier xml représentant l'arbre des expressions arithmétique. je l'ai fait avec antlr.

Mon problème est de pouvoir executer cet arbre. La solution la plus simple serait un parcours en profondeur de l'arbre obtenu :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
parcrours(noeud):
 pacours(noeud.gauche)
 parcours(noeurd.droit)
 // calcul noeud a partir de feuille droit et gauche
La question est donc d'un point de vue conceptuelle pour calculer cette expression dois-je faire un parcours d'arbre ou convertir a destination d'une machine à pile.

En effet une machine qui interprète des instructions ne doit-elle pas être à pile.
Est-il possible de réaliser une machine qui traite des arbres pour les instructions.
Si oui avez des liens je vous prie.
Dans le cas des machines à pile si vous avez des liens ? J'ai du mal à transformer l'AST en instruction à pile.

Merci d'avance de vos réponses.