- let states0 = get cache tree node in
- let trans0 = Ata.get_trans auto tag auto.Ata.states in
- let () =
- TRACE(Html.trace (T.preorder tree node) _i "Pre States: %a<br/>Pre Trans: %a<br/>"
- StateSet.print states0 (Ata.TransList.print ~sep:"<br/>") trans0)
+ let config0 =
+ let c = get cache tree node in
+ if c == Cache.N1.dummy cache then
+ Ata.Config.make
+ { c.Ata.Config.node with
+ Ata.todo = Ata.get_trans auto tag auto.Ata.states;
+ summary = Ata.node_summary
+ (node == T.first_child tree parent) (* is_left *)
+ (node == T.next_sibling tree parent) (* is_right *)
+ (fc != T.nil) (* has_left *)
+ (ns != T.nil) (* has_right *)
+ (T.kind tree node) (* kind *)
+ }
+ else c