- Removed the direct calls to TextCollection, use XMLTree wrapper instead
[SXSI/xpathcomp.git] / main.ml
diff --git a/main.ml b/main.ml
index 3c698cd..6295044 100644 (file)
--- a/main.ml
+++ b/main.ml
@@ -21,6 +21,7 @@ let time f x =
 ;;
 let total_time () =  List.fold_left (+.) 0. !l;;
 
+
 let main filename query output =
   Printf.eprintf "Parsing document : %!";
   let v = time Tree.Binary.parse_xml_uri filename in
@@ -38,12 +39,13 @@ let main filename query output =
       let auto = time XPath.Compile.compile  query in
        XPath.Ast.print Format.err_formatter query;
        Format.eprintf "\n%!";
-
+(*             Format.eprintf "Internal rep of the tree is :\n%!";
+               Tree.Binary.dump v;                           *)
        Printf.eprintf "TopDown (No BackTrack) : \n";
        time (fun v -> ignore (TopDown.accept auto v)) v;
-       P(Printf.eprintf "Max states in TopDownNOBT : %i\n%!" auto.max_states);
+       Printf.eprintf "Number of nodes in the result set : %i\n" (BST.cardinal auto.result);
        begin
-         match output with
+         match output with
            | None -> ()
            | Some f ->
                
@@ -52,18 +54,22 @@ let main filename query output =
                        let oc = open_out f in
                          output_string oc "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
                          BST.iter (fun t -> Tree.Binary.print_xml_fast oc t;
-                                     output_string oc "\n------------------";
-                                   output_char oc '\n') auto.result) ();
+                                     output_char oc '\n') auto.result) ();
        end;
        Printf.eprintf "Total time : %fms\n Coherence : %i\n%!" (total_time())
 ;;
                
-
 let argc = Array.length Sys.argv;;
 if (argc < 3 || argc >4)
 then
   (prerr_endline ("usage : " ^ Sys.argv.(0) ^ " <document> \'query\'[ <output> ]");
    exit 1)
 ;;
-main Sys.argv.(1) Sys.argv.(2) (if argc == 4 then Some Sys.argv.(3) else None) ;;
+
+
+main Sys.argv.(1) Sys.argv.(2) (if argc == 4 then Some Sys.argv.(3) else None) ;; 
+
+Printf.eprintf "\n=================================================\nDEBUGGING\n%!";
+Tree.DEBUGTREE.print_stats Format.err_formatter;;
+