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
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 1+1 2*3+1 (1+2)*3 ...
Mon problème est de pouvoir executer cet arbre. La solution la plus simple serait un parcours en profondeur de l'arbre obtenu :
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.
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
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.
Partager