]> matita.cs.unibo.it Git - helm.git/blob - helm/ocaml/mathql_test/mqitop.ml
a9673205f9d787cdb4a1bbf99dc6eb08b6b1f827
[helm.git] / helm / ocaml / mathql_test / mqitop.ml
1 module U = MQueryUtil
2 module X = MQueryMisc
3 module I = MQueryInterpreter
4 module C = MQIConn
5
6 let _ =
7    let t = X.start_time () in
8    let ich = Lexing.from_channel stdin in
9    let flags = if Array.length Sys.argv >= 2 then Sys.argv.(1) else "" in
10    let log s = print_string s; flush stdout in
11    let handle = C.init (C.flags_of_string flags) log in 
12    if not (C.connected handle) then begin  
13        print_endline "mqitop: no connection"; flush stdout
14    end;
15    let rec aux () =
16       let t = X.start_time () in
17       let r = I.execute handle (U.query_of_text ich) in
18       U.text_of_result print_string r "\n";
19       Printf.printf "mqitop: query: %s,%i\n" (X.stop_time t) (List.length r);
20       flush stdout; aux()
21       
22    in
23    begin try aux() with End_of_file -> () end;
24    C.close handle;
25    Printf.printf "mqitop: done: %s\n" (X.stop_time t)