package binsec

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
module Tag : sig ... end
type t = private {
  1. id : int;
  2. name : string;
  3. size : size;
  4. info : Tag.t;
}
val create : string -> bitsize:Size.Bit.t -> tag:Tag.t -> t
val flag : ?bitsize:Size.Bit.t -> string -> t

flag ~size fname creates a flag variable.

  • size defaults to 1
val temporary : string -> Size.Bit.t -> t
val temp : Size.Bit.t -> t

temp n creates a lvalue representing a temporary of size n with name Format.sprintf "temp%d" n.

include Hashtbl.HashedType with type t := t
val equal : t -> t -> bool

The equality predicate used to compare keys.

val hash : t -> int

A hashing function on keys. It must be such that if two keys are equal according to equal, then they have identical hash values as computed by hash. Examples: suitable (equal, hash) pairs for arbitrary key types include

  • ((=), hash) for comparing objects by structure (provided objects do not contain floats)
  • ((fun x y -> compare x y = 0), hash) for comparing objects by structure and handling Stdlib.nan correctly
  • ((==), hash) for comparing objects by physical equality (e.g. for mutable or cyclic objects).
val from_id : int -> t

from_id id returns the variable identified by id.

  • raises Not_found

    if id is not a valid identifier.