package bap-std
Term identifier.
A term identifier is a knowledge object of class core-theory:program
that represents a program. Objects of this class have many properties that describe program syntax (representation) and semantics. The set of properties is extensible and each plugin/library can add its own properties, for the current set of all properties of all classes, see bap list classes
, or bap list class -f core-theory:program
to list the properties of the class to which Tid.t belongs.
type t = tid
val create : unit -> t
create ()
creates a fresh newly term identifier.
This function has a side-effect of changing the Toplevel knowledge base.
val for_name : ?package:string -> string -> t
for_name name
creates a Term identifier for the given name
.
Creates a new program object that denotes a program with the given name. See Theory.Label.for_name
from the Bap_core_theory
interface for more information.
for_addr addr
creates a Term identifier for the given addr
.
Creates a new program object that denotes a program with the given addr. See Theory.Label.for_addr
from the Bap_core_theory
interface for more information.
val for_ivec : ?package:string -> int -> t
for_ivec ivec
creates a Term identifier for the given ivec
.
Creates a new program object that denotes a program with the given ivec. See Theory.Label.for_ivec
from the Bap_core_theory
interface for more information.
val set_name : tid -> string -> unit
set_name tid name
associates a name
with a given term identifier tid
. Any previous associations are overridden.
val name : tid -> string
name tid
returns a term name: either a string name with at-prefix, or number identifier.
val from_string : string -> tid Core_kernel.Or_error.t
from_string s
parses tid from string. The expected format is:
tid = symbol | number. symbol = "@", string. number = "%", hex. string = ?sequence of characters?. number = ?ocaml hexadecimal representation?.
val from_string_exn : string -> tid
from_string_exn s
same as from_string_exn
but throws exception on error.
val (!!) : string -> tid
infix notation for from_string_exn
include Regular.Std.Regular.S with type t := t
val bin_size_t : t Bin_prot.Size.sizer
val bin_write_t : t Bin_prot.Write.writer
val bin_read_t : t Bin_prot.Read.reader
val __bin_read_t__ : (int -> t) Bin_prot.Read.reader
val bin_writer_t : t Bin_prot.Type_class.writer
val bin_reader_t : t Bin_prot.Type_class.reader
val bin_t : t Bin_prot.Type_class.t
val t_of_sexp : Sexplib0__.Sexp.t -> t
val sexp_of_t : t -> Sexplib0__.Sexp.t
val to_string : t -> string
val str : unit -> t -> string
val pps : unit -> t -> string
val ppo : Core_kernel.Out_channel.t -> t -> unit
val pp_seq : Stdlib.Format.formatter -> t Core_kernel.Sequence.t -> unit
val pp : Base__.Formatter.t -> t -> unit
module Replace_polymorphic_compare : sig ... end
val comparator : (t, comparator_witness) Core_kernel__Comparator.comparator
module Map : sig ... end
module Set : sig ... end
val hash_fold_t :
Ppx_hash_lib.Std.Hash.state ->
t ->
Ppx_hash_lib.Std.Hash.state
val hash : t -> Ppx_hash_lib.Std.Hash.hash_value
val hashable : t Core_kernel__.Hashtbl.Hashable.t
module Table : sig ... end
module Hash_set : sig ... end
module Hash_queue : sig ... end
val size_in_bytes : ?ver:string -> ?fmt:string -> t -> int
val of_bytes : ?ver:string -> ?fmt:string -> Regular.Std.bytes -> t
val to_bytes : ?ver:string -> ?fmt:string -> t -> Regular.Std.bytes
val blit_to_bytes :
?ver:string ->
?fmt:string ->
Regular.Std.bytes ->
t ->
int ->
unit
val of_bigstring : ?ver:string -> ?fmt:string -> Core_kernel.bigstring -> t
val to_bigstring : ?ver:string -> ?fmt:string -> t -> Core_kernel.bigstring
val blit_to_bigstring :
?ver:string ->
?fmt:string ->
Core_kernel.bigstring ->
t ->
int ->
unit
module Io : sig ... end
module Cache : sig ... end
val add_reader :
?desc:string ->
ver:string ->
string ->
t Regular.Std.reader ->
unit
val add_writer :
?desc:string ->
ver:string ->
string ->
t Regular.Std.writer ->
unit
val available_readers : unit -> info list
val default_reader : unit -> info
val available_writers : unit -> info list
val default_writer : unit -> info
val default_printer : unit -> info option
val find_reader : ?ver:string -> string -> t Regular.Std.reader option
val find_writer : ?ver:string -> string -> t Regular.Std.writer option