Compilateurs
Quelle est la forme correcte de l'arbre syntaxique abstrait de l'expression 2 + 3 * 4 ?
- ALa racine est le nœud +, dont l'enfant droit est le nœud * représentant 3 * 4
- BLa racine est le nœud *, dont l'enfant gauche est le nœud + représentant 2 + 3
- CLes cinq nœuds 2, 3, 4, + et * sont tous enfants directs de la racine
Afficher la réponse et l'explication
Réponse : A. La racine est le nœud +, dont l'enfant droit est le nœud * représentant 3 * 4
La multiplication étant prioritaire sur l'addition, l'expression s'interprète comme 2 + (3 * 4). Dans l'arbre syntaxique abstrait, les opérations calculées en premier sont placées plus bas ; la racine est donc +, avec pour enfant gauche 2 et pour enfant droit le nœud * dont les enfants sont 3 et 4. En évaluant l'arbre de bas en haut, on calcule d'abord 3 * 4 = 12, puis 2 + 12 = 14. La racine * correspond à l'écriture (2 + 3) * 4, et placer tous les nœuds sous la racine ne permet pas d'exprimer l'ordre de calcul.