module Action:sig
..end
Actions associated to transitions
type
t =
| |
Assign of |
|||
| |
Emit of |
(* | event | *) |
| |
StateMove of |
(* | fsm name, old state, new state | *) |
type
lhs = {
|
mutable l_desc : |
type
lhs_desc =
| |
LhsVar of |
(* | v := ... | *) |
| |
LhsArrInd of |
(* | v | *) |
| |
LhsArrRange of |
(* | v | *) |
| |
LhsRField of |
(* | v.field_name when v has a record type | *) |
val mk_lhs : string -> lhs
val lhs_name : lhs -> string
val vars_of : t -> Expr.VarSet.t * Expr.VarSet.t
vars_of a
returns the name of the variables read (resp. written) by action a
val rename : (string -> string) -> t -> t
rename f a
renames f v
each variable v
occurring in a
val subst : Eval.env -> t -> t
subst env a
replaces each variable v
occuring in a
by its value if found in env
,
simplifying the resulting expression whenever possible.
val string_of_lhs : lhs -> string
val to_string : t -> string