--- On Fri, 10/14/11, A. P. Garcia <a.phillip.garcia@gmail.com> wrote:

What intrigued me about this is that it's such an early example of an
abstract machine running as an interpreter. BCPL, roughly
contemporaneous, used ocode as an intermediate language, but it seems
this was intended to be further translated into assembly. While it's
possible to interpret ocode, in practice it seems this was rare, if it
was done at all.
Not sure if anyone ever interpreted ocode - by the time I encountered BCPL in the mid 1970's the "porting kit" consisted of the BCPL compiler along with an ocode to intcode translator, a reference intcode interpreter written in BCPL and of course, the intcode for the compiler. To bootstrap on a new machine you implemented an intcode interpreter - probably in assembler and, initially, ran the intcode version of the compiler until you had implemented an ocode to machine code translator for your system.

All of this is described in the Richards / Whitby-Strevens book.

Michael Davidson