package encoding

  1. Overview
  2. Docs
type t = {
  1. e : expr;
  2. ty : Ty.t;
}
and expr =
  1. | Val of Value.t
  2. | Ptr of int32 * t
  3. | Unop of Ty.unop * t
  4. | Binop of Ty.binop * t * t
  5. | Triop of Ty.triop * t * t * t
  6. | Relop of Ty.relop * t * t
  7. | Cvtop of Ty.cvtop * t
  8. | Symbol of Symbol.t
  9. | Extract of t * int * int
  10. | Concat of t * t
val (@:) : expr -> Ty.t -> t
val mk_symbol : Symbol.t -> t
val is_num : t -> bool
val equal : t -> t -> bool
val get_symbols : t list -> Symbol.t list
val negate_relop : t -> (t, string) Stdlib.Result.t
module Pp : sig ... end
val pp : Stdlib.Format.formatter -> t -> unit
val pp_list : Stdlib.Format.formatter -> t list -> unit
val pp_smt : Stdlib.Format.formatter -> t list -> unit
val to_string : t -> string
val simplify_binop : Ty.t -> Ty.binop -> t -> t -> expr
val simplify_relop : Ty.t -> Ty.relop -> t -> t -> expr
val nland64 : int64 -> int -> int64
val nland32 : int32 -> int -> int32
val simplify_extract : t -> int -> int -> expr
val simplify_concat : t -> t -> expr
val simplify : ?extract:bool -> t -> t
module Infix : sig ... end
module Bitv : sig ... end
OCaml

Innovation. Community. Security.