module NS : NodeSet.S
type t = NS.t array
val exec : t -> t -> t -> Tree.node -> code -> unit
+ val print : Format.formatter -> t -> unit
+ val var : int -> t -> t
+ val close : ((int*State.t, NS.t) Hashtbl.t) -> t -> t
+ val is_open : t -> bool
end
-module Count :
- sig
- module NS : NodeSet.S with type t = int
- type t = NS.t array
- val exec : t -> t -> t -> Tree.node -> code -> unit
- end
-
-module Mat :
- sig
- module NS : NodeSet.S with type t = Tree.node NodeSet.mat
- type t = NS.t array
- val exec : t -> t -> t -> Tree.node -> code -> unit
- end
+module Count : S with type NS.t = int
+module Mat : S with type NS.t = Tree.node NodeSet.mat
+module Make(U : NodeSet.S) : S with type NS.t = U.t