]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/mathql_interpreter/select.ml
Initial revision
[helm.git] / helm / ocaml / mathql_interpreter / select.ml
index 772f6964e9e71a8ba379c272a6be4b364130e609..ee9f329ba36ec61971784eb3f2ab6d9b1f876b22 100644 (file)
@@ -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
+