ldb owes its retargetability to three techniques: getting help from the compiler, using a machine-independent embedded interpreter, and choosing abstractions that minimize and isolate machine-dependent code. ldb reuses existing compiler function by having the compiler emit PostScript code that ldb later interprets; PostScript works well in this unusual context.
The full paper is available in PostScript form (179K) or you can read the scanned original in DjVu form (869K).