projects
/
tatoo.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Drastically improve performances by simplifying the book-keeping
[tatoo.git]
/
src
/
ata.mli
diff --git
a/src/ata.mli
b/src/ata.mli
index
6b4c02a
..
aa28abf
100644
(file)
--- a/
src/ata.mli
+++ b/
src/ata.mli
@@
-68,7
+68,10
@@
module Formula :
end
(** Modules representing the Boolean formulae used in transitions *)
end
(** Modules representing the Boolean formulae used in transitions *)
-module Transition : Hcons.S with type data = State.t * QNameSet.t * Formula.t
+module Transition : sig
+ include Hcons.S with type data = State.t * QNameSet.t * Formula.t
+ val print : Format.formatter -> t -> unit
+end
(** A [Transition.t] is a hashconsed triple of the state, the set of labels and the formula *)
(** A [Transition.t] is a hashconsed triple of the state, the set of labels and the formula *)
@@
-82,6
+85,9
@@
end
type t
(** 2-way Selecting Alternating Tree Automata *)
type t
(** 2-way Selecting Alternating Tree Automata *)
+val uid : t -> Uid.t
+(** return the internal unique ID of the automaton *)
+
val get_states : t -> StateSet.t
(** return the set of states of the automaton *)
val get_states : t -> StateSet.t
(** return the set of states of the automaton *)
@@
-92,11
+98,16
@@
val get_selecting_states : t -> StateSet.t
(** return the set of selecting states of the automaton *)
val get_trans : t -> QNameSet.elt -> StateSet.t -> TransList.t
(** return the set of selecting states of the automaton *)
val get_trans : t -> QNameSet.elt -> StateSet.t -> TransList.t
-(** [get_trans auto l q] return the list of transitions taken by [auto]
+(** [get_trans auto l q] return
s
the list of transitions taken by [auto]
for label [l] in state [q]. Takes time proportional to the number of
transitions in the automaton.
*)
for label [l] in state [q]. Takes time proportional to the number of
transitions in the automaton.
*)
+val get_form : t -> QNameSet.elt -> State.t -> Formula.t
+(** [get_form auto l q] returns a single formula for label [l] in state [q].
+ Takes time proportional to the number of transitions in the automaton.
+ *)
+
val print : Format.formatter -> t -> unit
(** Pretty printing of the automaton *)
val print : Format.formatter -> t -> unit
(** Pretty printing of the automaton *)
@@
-110,6
+121,11
@@
val concat : t -> t -> t
nodes [N], [a'' N = a' (a N)].
*)
nodes [N], [a'' N = a' (a N)].
*)
+val merge : t -> t -> t
+(** [merge a a'] creates a new automaton [a''] that evaluates both [a] and [a'']
+ in parallel
+*)
+
module Builder :
sig
type auto = t
module Builder :
sig
type auto = t