Module TOPLlib.ToplAutomaton
type t
type vname
= ToplAst.property_name * ToplAst.vertex
type vindex
= int
type tindex
= int
type transition
=
{
source : vindex;
target : vindex;
label : ToplAst.label option;
}
val make : ToplAst.t list -> t
val outgoing : t -> vindex -> tindex list
val vname : t -> vindex -> vname
val is_nondet : t -> vindex -> bool
val vcount : t -> int
val transition : t -> tindex -> transition
val is_skip : t -> tindex -> bool
A transition is *skip* when it has no action, its guard is implied by all other guards, and its target equals its source.
is_skip automaton t
returns true when it can prove thatt
is skip.
val tcount : t -> int
val max_args : t -> int
val get_start_error_pairs : t -> (vindex * vindex) list
Returns pairs
(i,j)
of vertex indices corresponding to pairs((p, "start"), (p, "error"))
of vertex names, wherep
ranges over property names. POST: no vertex index occurs more than once in the result.