Évaluation

Langage

On se donne le petit langage suivant :
Définir un type pour représenter les expressions de ce langage. On pourra distinguer les sous catégories des expressions arithmétiques et des expressions booléennes.

Environnement

On utilise des listes d'association pour représenter un environnement d'évaluation. Une valeur est soit un entier, soit un booléen.

Définir un type pour représenter les environnements, la fonction d'accés à la valeur d'une variable ainsi que la fonction d'ajout d'une liaison dans un environnement.

Évaluation

On veut définir une fonction d'évaluation eval qui prend en arguments un environnement et une expression et qui renvoie un entier correspondant à la valeur de l'expression.

Écrire une fonction d'évaluation des opérateurs arithmétiques ainsi qu'une fonction des opérateurs logiques.

Écrire la fonction d'évaluation.