Module Std.Expi

Expression Language Interpreter.

An extensible interpreter for BIL expressions.

Note: before diving into the deepness of Expi module consider Exp.eval function, that expose an easy interface to concrete evaluation of expressions.

Expi implements an operational semantics described in [1].

@see <https://github.com/BinaryAnalysisPlatform/bil/releases/download/v0.1/bil.pdf> [1]: BIL Semantics.

class context : object ... end

Context for expression evaluation.

module type S = sig ... end
module Make (M : Monads.Std.Monad.State.S2) : S with type ('a, 'e) state = ('a, 'e) M.t
include S with type ('a, 'e) state = ('a, 'e) Monads.Std.Monad.State.t
type ('a, 'e) state = ('a, 'e) Monads.Std.Monad.State.t
type 'a u = (unit, 'a) state
type 'a r = (Bil.result, 'a) state
module M : Core_kernel.T2 with type ('a, 'e) t = ('a, 'e) state
module Eval : Eval.S2 with type ('a, 'e) m := ('a, 'e) state and module M := M
class 'a t : object ... end

Expression interpreter.