package binsec

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type size = int
type 'a interval = 'a Interval.t = {
  1. lo : 'a;
  2. hi : 'a;
}
type endianness = Machine.endianness =
  1. | LittleEndian
  2. | BigEndian
type unary =
  1. | U
and binary =
  1. | B
type _ operator =
  1. | Not : unary operator
  2. | Sext : size -> unary operator
  3. | Uext : size -> unary operator
  4. | Restrict : int interval -> unary operator
  5. | Plus : binary operator
  6. | Minus : _ operator
  7. | Mul : binary operator
  8. | Udiv : binary operator
  9. | Umod : binary operator
  10. | Sdiv : binary operator
  11. | Smod : binary operator
  12. | Or : binary operator
  13. | And : binary operator
  14. | Xor : binary operator
  15. | Concat : binary operator
  16. | Lsl : binary operator
  17. | Lsr : binary operator
  18. | Asr : binary operator
  19. | Rol : binary operator
  20. | Ror : binary operator
  21. | Eq : binary operator
  22. | Diff : binary operator
  23. | Ule : binary operator
  24. | Ult : binary operator
  25. | Uge : binary operator
  26. | Ugt : binary operator
  27. | Sle : binary operator
  28. | Slt : binary operator
  29. | Sge : binary operator
  30. | Sgt : binary operator
val pp_op : Format.formatter -> _ operator -> unit
module Bv : sig ... end
type cst =
  1. | C
and loc =
  1. | L
and exp =
  1. | E
type (_, _, 'a, 'b) t = private
  1. | Var : {
    1. hash : int;
    2. size : size;
    3. name : string;
    4. label : 'a;
    } -> (exp, _, 'a, _) t
  2. | Load : {
    1. hash : int;
    2. len : size;
    3. dir : endianness;
    4. addr : (exp, exp, 'a, 'b) t;
    5. label : 'b;
    } -> (exp, _, 'a, 'b) t
  3. | Cst : Bitvector.t -> (_, exp, _, _) t
  4. | Unary : {
    1. hash : int;
    2. size : size;
    3. f : unary operator;
    4. x : (exp, exp, 'a, 'b) t;
    } -> (exp, exp, 'a, 'b) t
  5. | Binary : {
    1. hash : int;
    2. size : size;
    3. f : binary operator;
    4. x : (exp, exp, 'a, 'b) t;
    5. y : (exp, exp, 'a, 'b) t;
    } -> (exp, exp, 'a, 'b) t
  6. | Ite : {
    1. hash : int;
    2. size : size;
    3. c : (exp, exp, 'a, 'b) t;
    4. t : (exp, exp, 'a, 'b) t;
    5. e : (exp, exp, 'a, 'b) t;
    } -> (exp, exp, 'a, 'b) t
module type S = sig ... end
module Make (A : Sigs.HASHABLE) (B : Sigs.HASHABLE) : S with type a := A.t and type b := B.t
val to_exp : (_, _, 'a, 'b) t -> (exp, exp, 'a, 'b) t

Conversion

*

val to_loc : (_, _, 'a, 'b) t -> (exp, loc, 'a, 'b) t option
val to_loc_exn : (_, _, 'a, 'b) t -> (exp, loc, 'a, 'b) t
val to_cst : (_, _, _, _) t -> (cst, exp, _, _) t option
val to_cst_exn : (_, _, _, _) t -> (cst, exp, _, _) t
val pp : Format.formatter -> (_, _, _, _) t -> unit

Debug

*