Soddisfacibilità vincoli

Sto creando un DSL in Ruby che permette di definire delle variabili (e
altre cose che non servono spiegare).

Ogni variabile puo’ avere uno o piu’ vincoli. Supponiamo che abbia due
variabili vincolate in questo modo (tralasciando la sintassi Ruby):

int x | x > 2 and x < 200;
int y | y < x and y > 1000;

In questo esempio, la variabile y non puo’ assumere nessun valore dato
che non puo’ essere nello stesso istante minore di x e maggiore di 1000.
Quindi questo tipo di “errore” verra’ notificato all’utente che potra’
modificare il vincolo della variabile y.

Questo problema puo’ essere risolto facilmente facendo qualche controllo
ma nel mio programma posso esserci centinaia di variabili con
altrettanti vincoli.

Come posso far in modo che per ogni variabile, possa sapere l’insieme
dei valori che puo’ assumere?

2013/2/23 lolzzz what? [email protected]

Come posso far in modo che per ogni variabile, possa sapere l’insieme
dei valori che puo’ assumere?

Mi sembra un problema di disequazioni, non di Ruby

Stai dicendo:
x_min = 2
x_max = 200
y_max = x_max
y_min = 1000

if y_min > y_max
print “Panda sad :(”
end

Ciao

Andrea F. wrote in post #1098592:

2013/2/23 lolzzz what? [email protected]

Come posso far in modo che per ogni variabile, possa sapere l’insieme
dei valori che puo’ assumere?

Mi sembra un problema di disequazioni, non di Ruby

Stai dicendo:
x_min = 2
x_max = 200
y_max = x_max
y_min = 1000

if y_min > y_max
print “Panda sad :(”
end

Ciao

Ciao Andrea e grazie per la risposta.

Si sto dicendo quello. La fai troppo semplice cosi’ :smiley:
Il mio esempio era banale e ogni variabile puo’ avere molti piu’
controlli di quelli che ho scritto io.
Inoltre, se ho un centinaio di variabili il problema non e’ piu’ cosi’
banale

2013/2/23 lolzzz what? [email protected]

x_min = 2
Ciao Andrea e grazie per la risposta.

Si sto dicendo quello. La fai troppo semplice cosi’ :smiley:

Hai gi implementato qualcosa?
Dove ti sei bloccato?

Il mio esempio era banale e ogni variabile puo’ avere molti piu’
controlli di quelli che ho scritto io.

Inoltre, se ho un centinaio di variabili il problema non e’ piu’ cosi’

banale

Non mi sembra niente che un ciclo e un array e qualche oggetto non possa
risolvere.
Io non riesco ad aiutarti pi di cos se non mi spieghi pi in dettaglio
cosa ti blocca.

Ciao

2013/2/23 Andrea F. [email protected]

Io non riesco ad aiutarti pi di cos se non mi spieghi pi in dettaglio
cosa ti blocca.

Mi correggo. Ho provato ad implementarlo. Basta una hash.
Anche il parsing non deve essere difficile.

Ciao