X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=src%2Fata.mli;h=89593ccbddfaf3d35587551021bc820557d7dcc3;hb=3b9dbcd9318dba41999dc6cc43093edbe5bc4c5d;hp=e1fdc4a2fd1a95e72e101e6bc17285e97ecb0ba6;hpb=35abea737ead2d4fd121d0cb8bdbda38cfcaa8d3;p=tatoo.git diff --git a/src/ata.mli b/src/ata.mli index e1fdc4a..89593cc 100644 --- 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_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 @@ -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. *) +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 *)