Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
val cfg : fsm_config
module State : sig ... end
module TransLabel : sig ... end
module Repr : sig ... end
type state = State.t
type transition = State.t * TransLabel.t * State.t
type itransition = TransLabel.t * State.t
val string_of_transition : transition -> string
val string_of_state : state -> string
type inst = {
f_name : string;
f_model : model;
f_params : (string * (Types.typ * Expr.value)) list;
f_inps : (string * (Types.typ * Global.global)) list;
f_outps : (string * (Types.typ * Global.global)) list;
f_inouts : (string * (Types.typ * Global.global)) list;
f_vars : (string * Types.typ) list;
f_repr : Repr.t;
f_l2g : string -> string;
}
val build_model :
name:string ->
states:state list ->
params:(string * Types.typ) list ->
ios:(Types.dir * string * Types.typ) list ->
vars:(string * Types.typ) list ->
trans:
(state
* (Condition.event * Condition.guard list)
* Action.t list
* state
* int)
list ->
itrans:(state * Action.t list) ->
model
val build_instance :
name:string ->
model:model ->
params:(string * Expr.value) list ->
ios:Global.global list ->
inst
val transitions_of : inst -> transition list
val itransitions_of : inst -> itransition list
val succs : inst -> state -> (state * TransLabel.t) list
val input_events_of : inst -> string list
val output_events_of : inst -> string list
val is_rtl : inst -> bool
val dot_output_oc :
out_channel ->
?dot_options:Utils.Dot.graph_style list ->
?options:dot_options list ->
inst ->
unit
val dot_output :
?fname:string ->
?dot_options:Utils.Dot.graph_style list ->
?options:dot_options list ->
dir:string ->
inst ->
string
val dot_output_model :
?fname:string ->
?dot_options:Utils.Dot.graph_style list ->
?options:dot_options list ->
dir:string ->
model ->
string
val dump_model : out_channel -> model -> unit
val dump_inst : out_channel -> inst -> unit