]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/mathql_test/mqitop.ml
- New interface for the MathQL interpreter (1.3 version)
[helm.git] / helm / ocaml / mathql_test / mqitop.ml
diff --git a/helm/ocaml/mathql_test/mqitop.ml b/helm/ocaml/mathql_test/mqitop.ml
new file mode 100644 (file)
index 0000000..fc206c6
--- /dev/null
@@ -0,0 +1,25 @@
+module MQICallbacks =
+   struct
+      let log s = print_string s; flush stdout
+   end
+
+let _ =
+   let module U = MQueryUtil in
+   let module X = MQueryMisc in
+   let module I = MQueryInterpreter.Make(MQICallbacks) in
+   let t = X.start_time () in
+   let ich = Lexing.from_channel stdin in
+   let flags = if Array.length Sys.argv >= 2 then Sys.argv.(1) else "" in 
+   let rec aux () =
+      let t = X.start_time () in
+      let r = I.execute flags (U.query_of_text ich) in
+      Printf.printf "mqitop: query: %s,%i\n" (X.stop_time t) (List.length r);
+      flush stdout; aux()
+      
+   in
+   if not (I.init flags) then begin  
+       print_endline "mqitop: no connection"; flush stdout
+   end;
+   begin try aux() with End_of_file -> () end;
+   I.close flags;
+   Printf.printf "mqitop: done: %s\n" (X.stop_time t)