intersect.cmx: intersect.cmi
func.cmo: dbconn.cmi intersect.cmi utility.cmi func.cmi
func.cmx: dbconn.cmx intersect.cmx utility.cmx func.cmi
-mqint.cmo: context.cmo dbconn.cmi diff.cmi func.cmi intersect.cmi meet.cmi \
- relation.cmi sub.cmi union.cmi mqint.cmi
-mqint.cmx: context.cmx dbconn.cmx diff.cmx func.cmx intersect.cmx meet.cmx \
- relation.cmx sub.cmx union.cmx mqint.cmi
+attribute.cmo: dbconn.cmi intersect.cmi utility.cmi attribute.cmi
+attribute.cmx: dbconn.cmx intersect.cmx utility.cmx attribute.cmi
+mqint.cmo: attribute.cmi context.cmo dbconn.cmi diff.cmi func.cmi \
+ intersect.cmi meet.cmi relation.cmi sub.cmi union.cmi mqint.cmi
+mqint.cmx: attribute.cmx context.cmx dbconn.cmx diff.cmx func.cmx \
+ intersect.cmx meet.cmx relation.cmx sub.cmx union.cmx mqint.cmi
REQUIRES = helm-urimanager postgres unix natile-galax helm-mathql
PREDICATES =
-INTERFACE_FILES = dbconn.mli utility.mli union.mli relation.mli diff.mli meet.mli sub.mli intersect.mli func.mli mqint.mli
+INTERFACE_FILES = dbconn.mli utility.mli union.mli relation.mli diff.mli meet.mli sub.mli intersect.mli func.mli attribute.mli mqint.mli
-IMPLEMENTATION_FILES = dbconn.ml utility.ml union.ml relation.ml diff.ml meet.ml sub.ml intersect.ml context.ml func.ml mqint.ml
+IMPLEMENTATION_FILES = dbconn.ml utility.ml union.ml relation.ml diff.ml meet.ml sub.ml intersect.ml context.ml func.ml attribute.ml mqint.ml
# $(INTERFACE_FILES:%.mli=%.ml)
open Diff;;
open Relation;;
open Func;;
+open Attribute;;
exception BooleExpTrue
| MathQL.VVar s -> List.assoc s c.vvars
| MathQL.RefOf sexp -> List.map (fun (s,_) -> s) (exec_set_exp c sexp)
| MathQL.Fun (s, vexp) -> fun_ex s (exec_val_exp c vexp)
- | MathQL.Attribute (rop, path, vexp) -> []
+ | MathQL.Attribute (rop, path, inv, vexp) -> attribute_ex rop path inv (exec_val_exp c vexp)
(* valuta una MathQL.set_exp nel contesto vuoto e ritorna un MathQL.resource_set *)
and execute x =