Readers in a hurry might prefer Michael Steil's very readable Abstract of this page. Since this document was first written a couple of years ago, members of the SBT mailing list led by Neil Bradley have been working on a project to write a multi-target SBT called "Orion". Neil's code uses the outline below as its starting point, and goes further by implementing the compiler-like optimizations which are merely alluded to in passing in this document. The Orion project will be written up separately; we're considering submitting a paper on it to next year's Working Conference on Reverse Engineering in 2007 (we were too slow off the mark for the 2006 submission deadline, plus too much of it would have had to be written in what one of my professors used to call the "future hopeful tense" ;-) ) We intend to update this document using examples from Orion, plus some of the other translators for real machines which have been written since this project was started. We'll also add links to source code for you to look at. But for now, read this (and our embrionic wiki page) and join our online chat group that discusses the subject, at Yahoo Groups.