Exercice n° 3:

Interprétation/évaluation à l'aide d'une pile des expressions arithmétiques numériques.

Thèmes :

  • utilisation d'un contexte
  • utilisation d'une API
  • Pattern INTERPRETEUR


Informellement :
L'interprétation/évaluation a lieu maintenant dans un certain contexte.
Le contexte est ici une pile d'entiers.
Les opérations sur une pile sont 'empiler', 'dépiler' et 'sommet'.

Java fournit une classe Stack (cf. 'java.util.Stack').


QUESTION 1 : Construire la classe Contexte qui implante une pile avec les méthodes 'empiler', 'dépiler' et 'sommet' en utilisant/héritant de la classe java.util.Stack.

Attention,  dans la classe java.util.Stack on empile , dépiler , récupère des 'Object'  (la classe la plus gnérale de Java) alors que dans contexte on travaille sur les entiers  (cf. 'java.lang.Integer')


QUESTION 2 : Modifier le programmme de l'exercice précédent pour cette nouvelle interprétation.

QUESTION 3 : Ajouter dans le schéma les opérateurs binaires '-' et '/' et les opérateurs unaires et parmi les opérateurs unaires ajouter '-' et '!' (factorielle) et aussi compléter le programme.