Make.Stateinclude Soteria.Sym_states.Base.M(Csymex).S with type syn = State_intf.synval pp :
Ppx_deriving_runtime.Format.formatter ->
t ->
Ppx_deriving_runtime.unitval show : t -> Ppx_deriving_runtime.stringmodule SM :
Soteria.Sym_states.State_monad.S
with module Symex = Csymex
and module Value = Csymex.Value
and type st = t optiontype syn = State_intf.synval pp_syn :
Ppx_deriving_runtime.Format.formatter ->
syn ->
Ppx_deriving_runtime.unitval show_syn : syn -> Ppx_deriving_runtime.stringval ins_outs : syn -> Csymex.Value.Expr.t list * Csymex.Value.Expr.t listval produce : syn -> t option -> t option Csymex.Producer.tval consume : syn -> t option -> (t option, syn list) Csymex.Consumer.ttype 'a res := ('a, Error.with_trace, syn list) SM.Result.tval pp_pretty : ignore_freed:bool -> Stdlib.Format.formatter -> t -> unitPrettier but expensive printing.
val empty : t optionval load :
[< Soteria_c_lib.Typed.T.sptr ] Typed.t ->
Soteria_c_lib.Ctree_block.Ctype.ctype ->
Soteria_c_lib.State_intf.Agv.t resval store :
Soteria_c_lib.Typed.T.sptr Typed.t ->
Soteria_c_lib.Ctree_block.Ctype.ctype ->
Soteria_c_lib.State_intf.Agv.t ->
unit resval zero_range :
[< Soteria_c_lib.Typed.T.sptr ] Typed.t ->
Soteria_c_lib.Typed.T.sint Typed.t ->
unit resval alloc :
?zeroed:bool ->
Soteria_c_lib.Typed.T.sint Typed.t ->
[> Soteria_c_lib.Typed.T.sptr ] Typed.t resval alloc_ty :
Soteria_c_lib.Ctree_block.Ctype.ctype ->
[> Soteria_c_lib.Typed.T.sptr ] Typed.t resval free : [< Soteria_c_lib.Typed.T.sptr ] Typed.t -> unit resval get_global :
Cerb_frontend.Symbol.sym ->
t option ->
([> Soteria_c_lib.Typed.T.sptr ] Typed.t * t option) Csymex.tval copy_nonoverlapping :
dst:[< Soteria_c_lib.Typed.T.sptr ] Typed.t ->
src:[< Soteria_c_lib.Typed.T.sptr ] Typed.t ->
size:Soteria_c_lib.Typed.T.sint Typed.t ->
unit resval produce_aggregate :
Soteria_c_lib.Typed.Expr.t ->
Cerb_frontend.Ctype.ctype ->
Aggregate_val.syn ->
t option ->
t option Soteria_c_lib.Csymex.Producer.t