Script.ExprSourceinclude module type of struct include Binsec.Dba.Expr endtype t = private Binsec.Dba.Expr.t = | Var of Binsec.Dba.Var.t| Load of Binsec.Dba.size * Binsec.Machine.endianness * t * string option| Cst of Binsec.Bitvector.t| Unary of Binsec.Dba.Unary_op.t * t| Binary of Binsec.Dba.Binary_op.t * t * t| Ite of t * t * tval size_of : t -> intval is_constant : t -> boolval var : ?tag:Binsec.Dba.Var.Tag.t -> string -> int -> tConstructors
val v : Binsec.Dba.Var.t -> tval temporary : size:int -> string -> tval constant : Binsec.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 : Binsec.Dba.Binary_op.t -> t -> t -> tBinary expressions
val unary : Binsec.Dba.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 ->
Binsec.Size.Byte.t ->
Binsec.Machine.endianness ->
t ->
tload nbytes endianness t
val is_max : t -> boolis_max e is true if e is