--- On Fri, 10/14/11, A. P. Garcia <a.phillip.garcia(a)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