Cette mini classe permet d'évaluer des expressions arithmétiques. Calcule sur des reels (double) et il y a que les opérations suivantes : plus,moins, multiplier,diviser,parentheses,sin,cos.
On peut aussi utiliser des variables
Se base sur la théorie des langages! utilise un analyseur syntaxique qui permet de calculer une expression a partir d'une grammaire.
Pour évaluer l'expression, on utilise une pile.
Voici la grammaire :
S' -> E
E -> TE'
E' -> +TE'
E' -> -TE'
E' -> $
T -> FT'
T' -> *FT'
T' -> /FT'
T' -> $
F -> id
F -> (E)
En modifiant légérement la grammaire on peut trés facilement gerer les nombres a virgules (voir dans la méthode F)
La grammaire et la source ont été inspirés du cours de M. Krajecki disponible a l'adresse suivante :
http://cosy.univ-reims.fr/~mkrajecki/enseignement/info62/info62Chap3.pdf