- (try ex_aux [] l; U.mql_false with Found -> U.mql_true)
- | M.SVar i -> begin
- try List.assoc i c.svars
- with Not_found -> warn (M.SVar i); [] end
- | M.AVar i -> begin
- try [List.assoc i c.avars]
- with Not_found -> warn (M.AVar i); [] end
- | M.Let i x1 x2 ->
- let d = {c with svars = P.add_assoc (i, eval_query c x1) c.svars} in
+ begin try ex_aux [] l; c, U.mql_false with Found -> c, U.mql_true end
+ | M.SVar i ->
+ begin
+ try c, List.assoc i c.svars
+ with Not_found -> warn (M.SVar i); c, []
+ end
+ | M.AVar i ->
+ begin
+ try c, [List.assoc i c.avars]
+ with Not_found -> warn (M.AVar i); c, []
+ end
+ | M.Let (Some i) x1 x2 ->
+ let d, r = eval_query c x1 in
+ let d = {d with svars = P.add_assoc (i, r) d.svars} in