-
-(*28/01/2014
- parametres : tree l'arbre xml
- ls l'ensemble de noeuds
- m move
- retour : l'ensemble de noeuds qui correspondent ॆ des relations lr
-*)
-
-and eval_star tree ls lr =
- let h = Hashtbl.create 17 in
- let q = Queue.create () in
- List.iter ( fun e -> Queue.add e q ) ls;
- while not (Queue.is_empty q ) do
- let n = Queue.pop q in
- if not (Hashtbl.mem h n) then begin
- Hashtbl.add h n ();
- List.iter ( fun r -> let m = eval_relation tree r n in
- if m != Naive_tree.nil && not (Hashtbl.mem h m ) then begin
-
- Queue.add m q; end
- ) lr
- end
- done;
- let l = Hashtbl.fold (fun k _ acc -> k::acc) h [] in
- l
- (*
- Tas.sort_of_list tree l
- List.sort (compare_node tree) l*)
-