package bap-std

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

BIL Interpreter.

bili extends expi with methods for evaluating BIL statements, thus allowing one to interpret BIL AST. To interpret BIL in the intermediate representation use biri.

Also, if you don't need to change the default behavior of the interpreter, then you may use Stmt.eval that exposes an easier interface for BIL evaluation. For example,

      let x = Var.create "x" bool_t;;
      val x : var = x
      let ctxt = Stmt.eval [Bil.(x := int Word.b0)] (new Bili.context);;
      val ctxt : Bili.context = <obj>
      ctxt#bindings |> Seq.to_list;;
      - : (var * Bil.result) list = [(x, [0x1] false)]
class context : object ... end

Bili.context extends Expi.context with PC (Program Counter).

class 'a t : object ... end

Base class for BIL interpreters

OCaml

Innovation. Community. Security.