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