Module type Memory_sig.With_Address

Abstraction of an address, pointing to a region in a C-like memory model. The type adress is named binary for historical reasons, and also to help sharing with bitvectors in whole.

module Scalar : Domain_sig.Base with module Context = Context
type boolean
type binary
module Binary : Datatype_sig.S with type t = binary
val binary_pretty : size:int -> Context.t -> Stdlib.Format.formatter -> binary -> unit
val binary_empty : size:int -> Context.t -> binary
val serialize : size:int -> Context.t -> binary -> Context.t -> binary -> 'a Context.in_acc -> (binary, 'a) Context.result
val bchoose : size:int -> Transfer_functions.Choice.t -> Context.t -> binary -> binary
val bindex : size:int -> int -> Context.t -> binary -> Scalar.binary -> binary
val bisub : size:int -> Context.t -> binary -> binary -> Scalar.binary
val bshift : size:int -> offset:int -> max:int option -> Context.t -> binary -> binary
val ble : size:int -> Context.t -> binary -> binary -> boolean
val beq : size:int -> Context.t -> binary -> binary -> boolean
val binary_unknown : size:int -> Context.t -> binary
val binary_unknown_typed : size:int -> Context.t -> Types.Ctypes.typ -> binary
val has_type : size:int -> Context.t -> Types.Ctypes.typ -> binary -> bool
val binary2scalar_binary : size:int -> Context.t -> binary -> Scalar.binary
val assume_type : size:int -> Context.t -> binary -> Types.Ctypes.typ -> unit
val global_symbol : Context.t -> string -> int * binary
val add_global_symbol : size:int -> Context.t -> string -> binary -> unit
val add_global_scalar_symbol : size:int -> Context.t -> string -> Scalar.binary -> unit
val within_bounds : size:int -> Context.t -> binary -> boolean
module Query : sig ... end