Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
type t = [
| `Assert of Expression.t
| `Assign of Identifier.t * Expression.t option * Expression.t
| `Atomic of t list
| `Comment of string
| `Dstep of t list
| `Goto of Label.t
| `Guard of Expression.t
| `If of t list list
| `IfElse of t list list * t list
| `Label of Label.t
| `Print of string * Expression.t list
| `Run of Identifier.t * Expression.t list
| `Skip
]
val string_of : t -> string
val string_of_lst : t list -> string
val to_channel : ?ident:int -> Pervasives.out_channel -> t -> unit
val to_channel_lst : ?ident:int -> Pervasives.out_channel -> t list -> unit
val identifiers_of : t -> Identifierset.t
val identifiers_read : t -> Identifierset.t
val identifiers_written : t -> Identifierset.t
val identifiers_of_lst : t list -> Identifierset.t
val rename_variables : (Identifier.t -> Identifier.t) -> t -> t
val rename_variables_lst : (Identifier.t -> Identifier.t) -> t list -> t list
val map_rhs : (Expression.t -> Expression.t) -> t -> t