let do_text b t =
if Buffer.length t > 0 then begin
let s = Buffer.contents t in
- if (!Options.index_empty_texts) || not (is_whitespace s) then
+ if (!Config.index_empty_texts) || not (is_whitespace s) then
begin
open_tag b "<$>";
text b s;
let finalize () =
do_text build buf;
close_tag build "";
- Logger.print Format.err_formatter "Finished parsing@\n";
- Logger.print Format.err_formatter "Starting index construction@\n";
- let r = close_document build in
- Logger.print Format.err_formatter "Finished index construction@\n";
+ LOG ( __ "parsing" 2 "%s\n" "Finished parsing");
+ LOG ( __ "indexing" 2 "%s\n" "Starting index construction");
+ let r = close_document build
+ in
+ LOG ( __ "indexing" 2 "%s\n" "Finished index construction");
r
in
Expat.set_start_element_handler parser_ (start_element_handler parser_ build buf);
Expat.set_end_element_handler parser_ (end_element_handler parser_ build buf);
Expat.set_character_data_handler parser_ (character_data_handler parser_ build buf);
- Logger.print Format.err_formatter "Started parsing@\n";
- open_document build !Options.sample_factor !Options.disable_text_collection !Options.text_index_type;
+ LOG ( __ "parsing" 2 "%s\n" "Started parsing");
+ open_document build !Config.sample_factor !Config.disable_text_collection !Config.text_index_type;
open_tag build "";
parser_, finalize
let in_chan = open_in file in
let buffer = String.create 4096 in
let parser_, finalizer = create_parser () in
- let () =
+ let parse () =
try
while true do
let read = input in_chan buffer 0 4096 in
| End_of_file -> close_in in_chan
| e -> raise e
in
- finalizer ()
+ Utils.time ~msg:"Parsing XML file" parse ();
+ Utils.time ~msg:"Creating tree and text-collection index" finalizer ()
end
let is_root t = t == root
let node_of_t t =
- Logger.print err_formatter "Initializing tag structure@\n";
+ LOG ( __ "indexing" 2 "%s\n" "Initializing tag structure");
let _ = Tag.init (mk_tag_ops t) in
- Logger.print err_formatter "Starting tag table construction@\n";
- let f, n, c, d = time collect_labels t ~msg:"Building tag relationship table" in
+ LOG ( __ "indexing" 2 "%s\n" "Starting tag table construction");
+ let f, n, c, d = Utils.time ~msg:"Building tag relationship table" collect_labels t in
let c = Array.map TagS.to_ptset c in
let n = Array.map TagS.to_ptset n in
let f = Array.map TagS.to_ptset f in
(Ptset.Int.cardinal alltags)
(Ptset.Int.max_elt alltags)
-(*
- Logger.print err_formatter "Average depth: %f, number of leaves %i@\n@?" ((float_of_int a)/. (float_of_int b)) b
-;;
-
-*)
type tree_pointer = tree
let get_tree_pointer x = x.doc