================================================================================
B A S T A R D                                            disassembly environment

                    Bastard  Theory  of  Operations



================================================================================
 History

The original intent in writing the bastard was to produce a disassembler for
linux which could be extended with a mix of CPU and OS-specific plugins, and
file loading and decompilation scripts. It was to serve, initially, as a 
platform for testing decompilation theories; in addition, it was to function
well enough as a reverse engineering tool that a modest-sized binary could,
within the environment of the disassembler, be converted by hand or by script
to a high-level language.

Along the way, feature ideas rose up, the need for cross-platform capability
was tactfully presented, and the focus of the project shifted from "a user-
unfriendly, scriptable s.o.b. binary file munger" to "a real disassembler, 
on a par with that good commercial one". Half of the code was written for the
former, and half for the latter; the result is somewhat chaotic at best.


================================================================================
 Structure of the Disassembler


================================================================================
 Implementation

File Loading Phase (Pre-Disassembly)
Architecture-Dependent Disassembly
Post-Disassembly
Intermediate Code Generation
Decompilation


================================================================================
 Disassembly


================================================================================
 Intermediate Code Generation


================================================================================
 Decompilation


