The BAP Microexecution Framework
Module type
Class type
Library bap_primus
Module Bap_primus . Std . Primus . Machine . State
type 'a t

'a t is a type of state that holds a value of type 'a, and can be constructed from the base context of type 'c.

type 'a state = 'a t
type void

a type that has no values

type uuid = ( void, void, void ) Core_kernel.format

uuid is a string literal representing an UUID.

It should have the form:


where X is a hex-digit, e.g.,


val declare : ?inspect:( 'a -> Core_kernel.Sexp.t ) -> uuid:uuid -> name:string -> ( Bap.Std.project -> 'a ) -> 'a t

declare ~inspect ~uuid ~name make declares a state with the given uuid and name. The name is not required to be unique, while uuid is obviously required to be unique.

See uuid type description for the uuid representation. A new uuid can be obtained in the Linux system is provided by the uuidgen command.

val inspect : 'a t -> 'a -> Core_kernel.Sexp.t

inspect state value introspects given value of the state.

val name : 'a t -> string

name state a state name that was given during the construction.