]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/mathql_interpreter/mqint.ml
diff and sortedby implemented
[helm.git] / helm / ocaml / mathql_interpreter / mqint.ml
index dce67f86494d9fc3f95006622eae5af340626a51..ee56718c5888e3b4eee1182c6e6a80b8d8f7072c 100644 (file)
@@ -77,12 +77,10 @@ let rec execute_ex env =
      pattern_ex (apreamble, apattern, afragid)
  |  MQUnion (l1, l2) ->
      union_ex (execute_ex env l1) (execute_ex env l2)
-(*
  |  MQDiff (l1, l2) ->
      diff_ex (execute_ex env l1) (execute_ex env l2)
  |  MQSortedBy (l, o, f) ->
      sortedby_ex (execute_ex env l) o f
-*)
  |  MQIntersect (l1, l2) ->
      intersect_ex (execute_ex env l1) (execute_ex env l2)
  |  MQRVarOccur rvar -> [List.assoc rvar env]
@@ -128,10 +126,11 @@ let xres_to_res l =
   MQRefs
    (List.map
     (function l ->
-      match Str.split (Str.regexp ":\|#\|/") l with
-         hd::tl -> (
+      (*let _ = print_endline ("DEBUG: (mqint.ml: xres_to_res)" ^ l) in*)
+      match Str.split (Str.regexp ":\|#\|/\|(\|)") l with
+         hd::""::tl -> (
           match List.rev tl with
-             ")"::n::"xpointer(1"::tail    ->
+             n::"1"::"xpointer"::tail    ->
               (
                Some hd,
                List.fold_left
@@ -144,7 +143,7 @@ let xres_to_res l =
                 tail, 
                [MQFC (int_of_string n)]
               )
-          |  ")"::n::m::"xpointer(1"::tail ->
+          |  n::m::"1"::"xpointer"::tail ->
               (
                Some hd,
                List.fold_left
@@ -171,7 +170,7 @@ let xres_to_res l =
                []
               )
       )  
-      |  [] -> assert false
+       | _ -> assert false
     )
     tmp
    )