Définitions

Le 'résultat' d'une expression représente un objet (nombre, vecteur, fonction, etc...).
'Evaluer' une expression consiste à identifier cet objet 'résultat'; par une suite de calculs, plus ou moins longue en fonction de la complexité initiale de l'expression.
La suite des calculs à faire est indiquée soit par un parenthèsage explicite, soit par des 'règles d'usage' concernant la priorité des opérateurs ou le 'sens de circulation' prédéfini en cas d'associativité.
Le processus d'évaluation se présente donc comme un 'programme' que l'on peut généralement représenter sous forme 'd'arbre' . La racine de l'arbre constituant le résultat, les feuilles représentant les constantes ou des valeurs que l'on substitue à des 'inconnues' (variables) figurant dans l'expression.
Le calcul automatique des expressions est un processus que l'on nomme 'compilation' (ce mot a aussi d'autres sens en informatique).
Voici un exemple:
Expression Arbre correspondant Et voici un autre arbre (plus compliqué) correspondant au même calcul développé

Café Python

Voici un exemple de programme d'évaluation d'une expression numérique à valeurs réelles donnée sous forme de chaîne, sans espaces et entièrement parenthésée.

Voici un exemple de programme d'évaluation d'une expression numérique à valeurs entières donnée sous forme de chaîne, utilisant les modules Lex et Yacc d'analyse syntaxique.