module type S = sig
.. end
Term Values
include Mvalues.S
Frame Environment
type
frame
val new_frame : Kernel_function.t ->
m_here:mem option ->
m_pre:mem option -> m_post:mem option -> D.F.var option -> frame
val mem_at : frame -> Clabels.c_label -> mem
mem_at e l
returns the memory associates to
the label l
in the environment e
.
val result : frame -> D.F.var * Cil_types.typ
result e
returns the variable associates to
the function result in the environment e
.
val exit_status : frame -> D.F.var
exit_status e
returns the variable associates to
the function exit status in the environment e
.
val set_exit_status : frame -> D.F.var -> frame
val get_exit_status : frame -> D.F.var option
Pointers
val base_address : mem -> loc -> loc
base_address m l
return the base address
of l
.
val block_length : mem -> loc -> Formula.integer D.F.term
block_length m l t
return the block_length
of the location l
.
Validity
val valid : mem -> loc D.assigned -> D.F.pred
Separation
val separated : loc D.assigned -> loc D.assigned -> D.F.pred
User-defined Predicates
type
closure
val userdef_frame : unit -> frame
val userdef_signature : frame ->
Formula.abstract D.F.term list ->
D.F.pred list -> D.F.var list * closure list
val label_at_closure : closure -> string
val userdef_closure : mem -> closure -> Formula.abstract D.F.term
val pp_closure : Format.formatter -> closure -> unit