- Printf.eprintf "Compiling query : ";
- 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;
- Printf.eprintf "Number of nodes in the result set : %i\n" (BST.cardinal auto.result);
- begin
- match output with
- | None -> ()
- | Some f ->
-
- Printf.eprintf "Serializing results : ";
+ MM(v,__LOCATION__);
+ Printf.eprintf "Parsing query : ";
+ let query = try
+ time
+ XPath.Parser.parse_string query
+ with
+ Ulexer.Loc.Exc_located ((x,y),e) -> Printf.eprintf "character %i-%i %s\n" x y (Printexc.to_string e);exit 1
+ in
+ Printf.eprintf "Compiling query : ";
+ 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 "Execution time : ";
+ time (fun v -> ignore (TopDown.accept auto v)) v;
+ Printf.eprintf "Number of nodes in the result set : %i\n" (BST.cardinal auto.result);
+ begin
+ match output with
+ | None -> ()
+ | Some f ->
+
+ Printf.eprintf "Serializing results : ";