3 let lexbuf = Lexing.from_channel stdin in
6 match CicTextualParser.main CicTextualLexer.token lexbuf with
8 | Some expr -> terms := expr :: ! terms
12 CicTextualParser0.Eof -> ! terms
15 print_endline (MQueryGenerator.locate name);
18 let rec display = function
22 print_endline ("? " ^ CicPp.ppterm term ^ "<p>");
25 let rec levels level = function
29 print_endline ("? " ^ CicPp.ppterm term ^ "<p>");
30 print_endline (MQueryGenerator.levels [] [] term level);
33 let rec backward level = function
37 print_endline ("? " ^ CicPp.ppterm term ^ "<p>");
38 print_endline (MQueryGenerator.backward [] [] term level);
42 let rec parse = function
44 | ("-l"|"-locate") :: arg :: rem ->
46 | ("-d"|"-display") :: rem ->
47 display (get_terms ())
48 | ("-t"|"-test") :: arg :: rem ->
49 levels (int_of_string arg) (get_terms ())
50 | ("-b"|"-backward") :: arg :: rem ->
51 backward (int_of_string arg) (get_terms ())
52 | _ :: rem -> parse rem
54 parse (List.tl (Array.to_list Sys.argv))
58 Logger.log_callback :=
60 ~print_and_flush:(function s -> print_string s ; flush stdout)) ;
61 MQueryGenerator.init ();
63 MQueryGenerator.close ();