Laboratorio di Programmazione - A.A. 2004/05
Parte 1
Si rappresentino attraverso classi Java espressioni booleane formate da: (i) espressioni atomiche (atomi) che denotano variabili (ii) not di una espressione, (iii) and di due espressioni e (iv) or di due espressioni.
Parte 2
Si definisca una classe EspressioneUtil
contenente due metodi
statici che implementino rispettivamente le procedure di conversione da stringa
ad espressione e da espressione a stringa. Per la trasformazione da stringa
a espressione si utilizzi la seguente grammatica.
E -> EE | EE & EE | EE | EE
EE -> !EE | EEE
EEE -> ( E ) | atomo
Equipaggiare inoltre la classe con un metodo statico che data una espressione
restituisca l'insieme (Set
Parte 3
Definire una classe per rappresentare assegnazioni di valori a variabili con le seguenti funzionalità:
Parte 4
Definire una classe Valutazione contenente un metodo statico che data una espressione ed una assegnazione dele sue variabili, valuta l'espressione.