Std.Disasm_expertExpert interface to disassembler.
This interface is rather complicated, and is built around two implementations of the disassembler Basic and Recursive. Basic provides an efficient (and very lazy) linear sweep, driven in a continuation passing style. On top of the Basic the Recursive disassembler is built, that reconstructs the control flow graph, and represents the latter as a table of blocks.
module Backend : sig ... endThe interface for custom backends.
module Basic : sig ... endBasic disassembler.
module Linear : sig ... endA simple linear sweep disassembler.
module Recursive : sig ... endRecursive Descent Disassembler. This disassembler is built on top of Basic disassembler. It uses the work list algorithm to implement recursive descent disassembly and reconstructs the whole program CFG.