sig
type state
type value
type location
type origin
val extract_expr :
(Cil_types.exp -> value Eval.evaluated) ->
state -> Cil_types.exp -> (value * origin option) Eval.evaluated
val extract_lval :
(Cil_types.exp -> value Eval.evaluated) ->
state ->
Cil_types.lval ->
Cil_types.typ -> location -> (value * origin option) Eval.evaluated
val backward_location :
state ->
Cil_types.lval ->
Cil_types.typ -> location -> value -> (location * value) Eval.or_bottom
val reduce_further :
state -> Cil_types.exp -> value -> (Cil_types.exp * value) list
type t = state
val ty : t Type.t
val name : string
val descr : t Descr.t
val packed_descr : Structural_descr.pack
val reprs : t list
val equal : t -> t -> bool
val compare : t -> t -> int
val hash : t -> int
val pretty_code : Format.formatter -> t -> unit
val internal_pretty_code : Type.precedence -> Format.formatter -> t -> unit
val pretty : Format.formatter -> t -> unit
val varname : t -> string
val mem_project : (Project_skeleton.t -> bool) -> t -> bool
val copy : t -> t
end