projects
/
tatoo.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Sanitize the representation of formula
[tatoo.git]
/
src
/
ata.mli
diff --git
a/src/ata.mli
b/src/ata.mli
index
fd75e2e
..
e4f0ffd
100644
(file)
--- a/
src/ata.mli
+++ b/
src/ata.mli
@@
-13,32
+13,27
@@
(* *)
(***********************************************************************)
(* *)
(***********************************************************************)
-(*
- Time-stamp: <Last modified on 2013-04-22 15:08:54 CEST by Kim Nguyen>
-*)
-
-type predicate =
- First_child
- | Next_sibling
- | Parent
- | Previous_sibling
- | Stay
- | Is_first_child
- | Is_next_sibling
- | Is of Tree.NodeKind.t
- | Has_first_child
- | Has_next_sibling
+type move = [ `First_child
+ | `Next_sibling
+ | `Parent
+ | `Previous_sibling
+ | `Stay ]
+
+type predicate = Move of move * State.t
+ | Is_first_child
+ | Is_next_sibling
+ | Is of Tree.NodeKind.t
+ | Has_first_child
+ | Has_next_sibling
val is_move : predicate -> bool
val is_move : predicate -> bool
-type atom = predicate * bool * State.t
+module Atom : Boolean.ATOM with type data = predicate
-module Atom : Formula.ATOM with type data = atom
-
-module SFormula :
+module Formula :
sig
sig
- include module type of
Formula
.Make(Atom)
- val mk_atom : predicate ->
bool -> State.t ->
t
+ include module type of
Boolean
.Make(Atom)
+ val mk_atom : predicate -> t
val mk_kind : Tree.NodeKind.t -> t
val has_first_child : t
val has_next_sibling : t
val mk_kind : Tree.NodeKind.t -> t
val has_first_child : t
val has_next_sibling : t
@@
-58,7
+53,7
@@
module SFormula :
module Transition : Hcons.S with
module Transition : Hcons.S with
- type data = State.t * QNameSet.t *
S
Formula.t
+ type data = State.t * QNameSet.t * Formula.t
module TransList : sig
include Hlist.S with type elt = Transition.t
module TransList : sig
include Hlist.S with type elt = Transition.t
@@
-77,13
+72,13
@@
type config = {
}
module Config : Hcons.S with type data = config
}
module Config : Hcons.S with type data = config
-
+val dummy_config : Config.t
type t = private {
id : Uid.t;
mutable states : StateSet.t;
mutable selection_states: StateSet.t;
type t = private {
id : Uid.t;
mutable states : StateSet.t;
mutable selection_states: StateSet.t;
- transitions: (State.t, (QNameSet.t*
S
Formula.t) list) Hashtbl.t;
+ transitions: (State.t, (QNameSet.t*Formula.t) list) Hashtbl.t;
mutable cache2 : TransList.t Cache.N2.t;
mutable cache4 : Config.t Cache.N4.t;
}
mutable cache2 : TransList.t Cache.N2.t;
mutable cache4 : Config.t Cache.N4.t;
}
@@
-92,12
+87,13
@@
type t = private {
val create : StateSet.t -> StateSet.t -> t
val reset : t -> unit
val create : StateSet.t -> StateSet.t -> t
val reset : t -> unit
+val full_reset : t -> unit
val get_trans : t -> QNameSet.elt -> StateSet.t -> TransList.t
val eval_trans : t -> Config.t -> Config.t -> Config.t -> Config.t -> Config.t
val get_trans : t -> QNameSet.elt -> StateSet.t -> TransList.t
val eval_trans : t -> Config.t -> Config.t -> Config.t -> Config.t -> Config.t
-val add_trans : t -> State.t -> QNameSet.t ->
S
Formula.t -> unit
+val add_trans : t -> State.t -> QNameSet.t -> Formula.t -> unit
val print : Format.formatter -> t -> unit
val complete_transitions : t -> unit
val cleanup_states : t -> unit
val print : Format.formatter -> t -> unit
val complete_transitions : t -> unit
val cleanup_states : t -> unit