Module Memory

module Memory: sig .. end
Memory Values

type 'a sequence = {
   pre : 'a;
   post : 'a;
}
type acs = 
| RW (*
Read-Write Access
*)
| RD (*
Read-Only Access
*)
type 'a value = 
| Val of Lang.F.term
| Loc of 'a
type 'a rloc = 
| Rloc of Ctypes.c_object * 'a
| Rarray of 'a * Ctypes.c_object * int
| Rrange of 'a * Ctypes.c_object * Lang.F.term option * Lang.F.term option (*
a contiguous set of location
*)
type 'a sloc = 
| Sloc of 'a
| Sarray of 'a * Ctypes.c_object * int (*
full sized-array range
*)
| Srange of 'a * Ctypes.c_object * Lang.F.term option * Lang.F.term option
| Sdescr of Lang.F.var list * 'a * Lang.F.pred (*
a set of location
*)
type 'a logic = 
| Vexp of Lang.F.term
| Vloc of 'a
| Vset of Vset.set
| Lset of 'a sloc list
module type Chunk = sig .. end
module type Sigma = sig .. end
module type Model = sig .. end