Dba.Exprtype t = private | Var of Var.t| Load of size * Machine.endianness * t * string option| Cst of Bitvector.t| Unary of Unary_op.t * t| Binary of Binary_op.t * t * t| Ite of t * t * tval size_of : t -> intval is_constant : t -> boolval temporary : size:int -> string -> tval constant : Bitvector.t -> tconstant bv creates a constant expression from the bitvector bv.
val zeros : int -> tzeros n creates a constant expression of value 0 with length n
val ones : int -> tones n creates a constant expression of value 1 with length n. I.e.; it has (n - 1) zeros in binary.
val one : tval zero : tval _true : tval _false : tval binary : Binary_op.t -> t -> t -> tBinary expressions
val unary : Unary_op.t -> t -> tshift_(left|right) e q shifts expression e by quantity q, padding with zeroes
restrict lo hi e creates Dba.ExprUnary(Restrict(lo, hi), e) if hi >= lo && lo >=0 .
val load : ?array:string -> Size.Byte.t -> Machine.endianness -> t -> tload nbytes endianness t
val is_max : t -> boolis_max e is true if e is