.
[SXSI/xpathcomp.git] / main.ml
diff --git a/main.ml b/main.ml
index 3c698cd..e7bdd35 100644 (file)
--- a/main.ml
+++ b/main.ml
@@ -21,6 +21,20 @@ let time f x =
 ;;
 let total_time () =  List.fold_left (+.) 0. !l;;
 
+let test filename query output = 
+  Printf.eprintf "Parsing document : %!";
+  let v = time Tree.Binary.parse_xml_uri filename in
+(*    Tree.dump v;
+    Printf.eprintf "\n\n\n\n\n%!";
+    Tree.Binary.print_xml_fast stderr v  *)
+    Printf.eprintf "Full Traversal\n%!";
+    time (Tree.full_traversal) v;
+    Printf.eprintf "Traversal\n%!";
+    time (Tree.traversal) v;
+    Printf.eprintf "CPP Traversal\n%!";
+    time (Tree.cpp_traversal) v
+
+
 let main filename query output =
   Printf.eprintf "Parsing document : %!";
   let v = time Tree.Binary.parse_xml_uri filename in
@@ -41,9 +55,9 @@ let main filename query output =
 
        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 ->
                
@@ -65,5 +79,7 @@ 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) ;;
+
+
+test Sys.argv.(1) Sys.argv.(2) (if argc == 4 then Some Sys.argv.(3) else None) ;;