type code = Nil | Cons of State.t * opcode * code
val compile : (State.t * instr list) list -> code * bool
+type 'a update = 'a -> 'a -> 'a -> Tree.t -> Tree.node -> StateSet.t * 'a
+type 'a cache = 'a update Cache.Lvl3.t
+val dummy_update : 'a update
+val create : unit -> 'a cache
+val update :
+ ('a array -> 'a array -> 'a array -> Tree.node -> code -> unit) ->
+ 'a array cache -> Ata.t -> Translist.t -> StateSet.t -> StateSet.t ->
+ 'a array -> 'a array -> 'a array -> Tree.t -> Tree.node -> StateSet.t * 'a array
+
+val count_exec : NodeSet.Count.t array -> NodeSet.Count.t array -> NodeSet.Count.t array -> Tree.node -> code -> unit
+val mat_exec : NodeSet.Mat.t array -> NodeSet.Mat.t array -> NodeSet.Mat.t array -> Tree.node -> code -> unit
module type S =
sig
module NS : NodeSet.S
type t = NS.t array
val exec : t -> t -> t -> Tree.node -> code -> unit
+ val update : t cache -> Ata.t -> Translist.t -> StateSet.t -> StateSet.t ->
+ t -> t -> t -> Tree.t -> Tree.node -> StateSet.t * t
val print : Format.formatter -> t -> unit
val var : int -> t -> t
val close : ((int*State.t, NS.t) Hashtbl.t) -> t -> t