/[svn]/types/patterns.ml
ViewVC logotype

Diff of /types/patterns.ml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 225 by abate, Tue Jul 10 17:16:34 2007 UTC revision 226 by abate, Tue Jul 10 17:16:37 2007 UTC
# Line 534  Line 534 
534      pl : Normal.t array;      pl : Normal.t array;
535      interface : interface;      interface : interface;
536      codes : return_code array;      codes : return_code array;
537      mutable actions : actions option      mutable actions : actions option;
538        mutable printed : bool
539    }    }
540    
541    let array_for_all f a =    let array_for_all f a =
# Line 681  Line 682 
682                    pl = pl;                    pl = pl;
683                    interface = iface;                    interface = iface;
684                    codes = Array.of_list (List.rev !codes);                    codes = Array.of_list (List.rev !codes);
685                    actions = None } in                    actions = None; printed = false } in
686        incr cur_id;        incr cur_id;
687        dispatchers := DispMap.add (t,pl) res !dispatchers;        dispatchers := DispMap.add (t,pl) res !dispatchers;
688        res        res
# Line 1003  Line 1004 
1004            a            a
1005    
1006    let to_print = ref []    let to_print = ref []
1007    let printed = ref []  
1008      module DSET = Set.Make (struct type t = int let compare (x:t) (y:t) = x - y end)
1009      let printed = ref DSET.empty
1010    
1011    let queue d =    let queue d =
1012      if not (List.mem d.id !printed) then (      if not d.printed then (
1013        printed := d.id :: !printed;        d.printed <- true;
1014        to_print := d :: !to_print        to_print := d :: !to_print
1015      )      )
1016    

Legend:
Removed from v.225  
changed lines
  Added in v.226

CVS Admin">CVS Admin
ViewVC Help
Powered by ViewVC 1.1.5