package rfsm

  1. Overview
  2. Docs
type state = State.t
type label = TransLabel.t
module Repr : sig ... end
type t = Repr.t
val repr_of : t -> Repr.t
val of_repr : Repr.t -> t
type transition = state * label * state
type itransition = label * state
module State : sig ... end
module Label : sig ... end
module States : sig ... end
val states : t -> States.t
val states' : t -> state list
val istates : t -> States.t
val istates' : t -> state list
val transitions : t -> transition list
val itransitions : t -> itransition list
val string_of_state : state -> string
val string_of_label : label -> string
val string_of_transition : transition -> string
val is_state : t -> state -> bool
val is_init_state : t -> state -> bool
val is_reachable : t -> state -> bool
val is_transition : t -> transition -> bool
val succs : t -> state -> States.t
val succs' : t -> state -> (state * label) list
val preds : t -> state -> States.t
val preds' : t -> state -> (state * label) list
val succs_hat : t -> state -> States.t
val preds_hat : t -> state -> States.t
val empty : t
val create : states:state list -> itrans:(label * state) list -> trans:(state * label * state) list -> t
val add_state : state -> t -> t
exception Invalid_state of state
val add_transition : (state * label * state) -> t -> t
val add_itransition : (label * state) -> t -> t
val remove_state : state -> t -> t
val iter_states : (state -> unit) -> t -> unit
val fold_states : (state -> 'a -> 'a) -> t -> 'a -> 'a
val iter_transitions : (transition -> unit) -> t -> unit
val fold_transitions : (transition -> 'a -> 'a) -> t -> 'a -> 'a
val iter_itransitions : (itransition -> unit) -> t -> unit
val fold_itransitions : (itransition -> 'a -> 'a) -> t -> 'a -> 'a
val fold_succs : t -> state -> (state -> label -> 'a -> 'a) -> 'a -> 'a
val iter_succs : t -> state -> (state -> label -> unit) -> unit
val fold_preds : t -> state -> (state -> label -> 'a -> 'a) -> 'a -> 'a
val iter_preds : t -> state -> (state -> label -> unit) -> unit
val map_label : (label -> label) -> t -> t
val clean : t -> t
val dot_output : string -> ?fname:string -> ?options:Utils.Dot.graph_style list -> ?marked_states:(state * Utils.Dot.node_style) list -> ?extra_nodes:(string * Utils.Dot.node_style) list -> ?implicit_transitions:transition list -> t -> unit
val dot_output_oc : string -> out_channel -> ?options:Utils.Dot.graph_style list -> ?marked_states:(state * Utils.Dot.node_style) list -> ?extra_nodes:(string * Utils.Dot.node_style) list -> ?implicit_transitions:transition list -> t -> unit
val dot_output_execs : string -> ?fname:string -> ?options:Utils.Dot.graph_style list -> int -> t -> unit
val tex_output : string -> ?fname:string -> ?listed_transitions:label list option -> t -> unit
OCaml

Innovation. Community. Security.