X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fmathql_interpreter%2Fselect.ml;h=ee9f329ba36ec61971784eb3f2ab6d9b1f876b22;hb=89262281b6e83bd2321150f81f1a0583645eb0c8;hp=772f6964e9e71a8ba379c272a6be4b364130e609;hpb=97050ceab872afb33c5ff862f3f96743437e4346;p=helm.git diff --git a/helm/ocaml/mathql_interpreter/select.ml b/helm/ocaml/mathql_interpreter/select.ml index 772f6964e..ee9f329ba 100644 --- a/helm/ocaml/mathql_interpreter/select.ml +++ b/helm/ocaml/mathql_interpreter/select.ml @@ -26,7 +26,7 @@ (* * implementazione del comando SELECT *) - +(* open MathQL;; open Func;; open Utility;; @@ -48,10 +48,10 @@ let stringeval env = | MQFunc (f, rvar) -> let {S.uri = uri} = List.assoc rvar env in apply_func f uri - | MQSRVar rvar -> + | MQStringRVar rvar -> let {S.uri = uri} = List.assoc rvar env in uri - | MQSSVar svar -> + | MQStringSVar svar -> let (_,{S.attributes = attributes}) = List.hd env in List.assoc svar attributes | MQMConclusion -> @@ -92,7 +92,12 @@ let rec is_good env = in let ul1 = set_of_result (None,!execute env q1) in let ul2 = set_of_result (None,!execute env q2) in -prerr_endline ("MQSETEQUAL(" ^ string_of_int (List.length (!execute env q1)) ^ ">" ^ string_of_int (List.length ul1) ^ "," ^ string_of_int (List.length (!execute env q2)) ^ ">" ^ string_of_int (List.length ul2) ^ ")") ; flush stderr ; + print_endline ("MQSETEQUAL(" ^ + string_of_int (List.length (!execute env q1)) ^ ">" ^ + string_of_int (List.length ul1) ^ "," ^ + string_of_int (List.length (!execute env q2)) ^ ">" ^ + string_of_int (List.length ul2) ^ ")") ; + flush stdout ; (try List.fold_left2 (fun b uri1 uri2 -> b && uri1=uri2) true ul1 ul2 with @@ -110,7 +115,12 @@ prerr_endline ("MQSETEQUAL(" ^ string_of_int (List.length (!execute env q1)) ^ " in let ul1 = set_of_result (None,!execute env q1) in let ul2 = set_of_result (None,!execute env q2) in -prerr_endline ("MQSUBSET(" ^ string_of_int (List.length (!execute env q1)) ^ ">" ^ string_of_int (List.length ul1) ^ "," ^ string_of_int (List.length (!execute env q2)) ^ ">" ^ string_of_int (List.length ul2) ^ ")") ; flush stderr ; + print_endline ("MQSUBSET(" ^ + string_of_int (List.length (!execute env q1)) ^ ">" ^ + string_of_int (List.length ul1) ^ "," ^ + string_of_int (List.length (!execute env q2)) ^ ">" ^ + string_of_int (List.length ul2) ^ ")") ; + flush stdout ; let rec is_subset s1 s2 = match s1,s2 with [],_ -> true @@ -129,12 +139,15 @@ prerr_endline ("MQSUBSET(" ^ string_of_int (List.length (!execute env q1)) ^ ">" *) let select_ex env avar alist abool = let _ = print_string ("SELECT = ") - and t = Unix.time () in + and t = Sys.time () in let result = List.filter (function entry -> is_good ((avar,entry)::env) abool) alist in print_string (string_of_int (List.length result) ^ ": ") ; - print_endline (string_of_float (Unix.time () -. t) ^ "s") ; + print_endline (string_of_float (Sys.time () -. t) ^ "s") ; flush stdout ; result -;; +;; *) + +let select_ex rvar rset bexp +