Szia!
Beterelném a listára.
Nekem az rémlik, hogy az alábbiakat beszéltük meg:
Az AbstractEvaluator.evaluate(Tuple) Object-tel tér vissza. Jó is, mert lehet majd eval() nyelvi konstrukcióra használni.
A generált osztályod ezt valósítja meg, igaz? (Vagy valami burkolón keresztül esetleg.) Akkor minek megszorítani?
Az eddigi interpretált változatban se tiltotta meg semmi egy XBase kifejezésnek, hogy sztringet adjon vissza a check(), vagy akár Exceptiont dobjon.
Ezt eddig is le kellett kezelnie a megfelelő Rete csomópontnak (mindkét esetben false-ként), és erre továbbra is számítani lehet, tehát nem kell külön runtime ellenőrzés a generált kódba.
-
Ha az XBase kifejezés statikus típusellenőrzését könnyen meg tudod oldani, akkor a boolean-ra megszorítás check() esetén jól hangzik.
Majd az lesz vicces, ha megpróbáljuk összekombinálni a pattern nyelv típusellenőrzőjével.
Üdv
Gaben
-----András Ökrös <
okr...@gmail.com> ezt írta: -----
>Címzett: Bergmann Gábor <
berg...@mit.bme.hu>, Ráth István
><
ra...@mit.bme.hu>, Zoltán Ujhelyi <
ujhe...@mit.bme.hu>
>Feladó: András Ökrös <
okr...@gmail.com>
>Dátum: 2012/08/23 10:45de.
>Tárgy: Xbase visszatérési érték
>
>Sziasztok!
>
>Gábornak már mondtam, de inkább még egyszer felvetem a kérdést, hogy
>hogy legyen az xbase kifejezésekből generált java osztályoknál a
>generált kód visszatérési értéke. Jelenleg elég szabad a rendszer,
>olyan xbase kifejezést is elfogad ami string értékkel tér vissza
>(pl.: check("First".toLowerCase) ). Meg tudom oldani, hogy
>bekorlátozom boolean-ra, és ekkor az eiq fájlban megjelenik egy
>hibaüzenet a xbase kifejezésnél, hogyha nem boolean értéket adna
>eredményül. Szerintem ez lenne a legkulturáltabb megoldás. B verzió,
>hogy hagyjuk így, és én a legenerált java ellenőrző kódban megoldom,
>hogyha nem boolean a visszatérési érték akkor true-val egyből
>elfogadja a check feltételt.
>
>Andris
>