www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - dbeaengine - D binding for the BeaEngine disassembler

reply "Baz" <basile.burg gmx.com> writes:
dbeaengine[1] is a simple BeaEngine[2] interface for the D 
programming language. The BeaEngine is an X86 and X86_64 library 
which can be used to disassemble X86 and X86_64 byte-code.

The programming interface is simple and outrageously easy to use 
(a single function named `disassemble()` ).

This D binding doesn't add a layout over the original API but the 
`enum`, `struct` and their members names are more D-friendly. 
Additionaly, safety is introduced by turning `const` every data 
set by Bea, which avoids any unintentional modification of the 
results.

------------------------------------------
The project includes:
- the original C sources and some script to build the engine as 
an object.
- the di interface, a bit tweaked as mentioned in the intro.
- a Coedit project and the equivalent shell scripts to build the 
engine as a static library.
- a sample application which disassembles itself at run-time.

Misc:
- mostly licensed under the terms of the LGPL v3.
- credit go to the original authors, this is a simple interface!
- tested under win32 and nux64.
- beta, some doc. comments are missing, and `ArgType`[3] may be 
decomposed to avoid bit-masking.

------------------------------------------
[1]: http://www.beaengine.org/
[2]: https://github.com/BBasile/dbeaengine
[3]: 
https://github.com/BBasile/dbeaengine/blob/master/interface/beaengine.di#L168
Feb 16 2015
parent "Idle Reef Fly" <irf eastnet.com> writes:
On Monday, 16 February 2015 at 23:10:07 UTC, Baz wrote:
 dbeaengine[1] is a simple BeaEngine[2] interface for the D 
 programming language. The BeaEngine is an X86 and X86_64 
 library which can be used to disassemble X86 and X86_64 
 byte-code.
added library code to disasm in a single call: http://www.reddit.com/r/d_language/comments/3b6abf/coedit_beaengine_disassembler/?ref=share&ref_source=link
Jun 26 2015