projects
/
tatoo.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Implement a look-up table cache based on hashconsing to speed up automata evaluation.
[tatoo.git]
/
src
/
ata.mli
diff --git
a/src/ata.mli
b/src/ata.mli
index
e1fdc4a
..
89593cc
100644
(file)
--- a/
src/ata.mli
+++ b/
src/ata.mli
@@
-122,8
+122,12
@@
val get_starting_states : t -> StateSet.t
val get_selecting_states : t -> StateSet.t
(** return the set of selecting states of the automaton *)
val get_selecting_states : t -> StateSet.t
(** return the set of selecting states of the automaton *)
-val get_states_by_rank : t -> StateSet.t array
-(** return an array of states ordered by ranks.
+type rank = { td : StateSet.t;
+ bu : StateSet.t;
+ exit : StateSet.t }
+
+val get_states_by_rank : t -> rank array
+(** return an array of states (sources, states) ordered by ranks.
*)
val get_max_rank : t -> int
*)
val get_max_rank : t -> int
@@
-141,6
+145,10
@@
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.
*)
(** [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 state_prerequisites : move -> t -> State.t -> StateSet.t
+(** [state_prerequisites m auto q] returns the set of all states q' such
+ that [q', _ -> phi] and [m(q)] is in phi
+*)
val print : Format.formatter -> t -> unit
(** Pretty printing of the automaton *)
val print : Format.formatter -> t -> unit
(** Pretty printing of the automaton *)