> On Jul 14, 2020, at 11:49 AM, Toby Thain via cctalk <cctalk@classiccmp.org>
> wrote:
>
> On 2020-07-14 11:37 a.m., dwight via cctalk wrote:
>> I'm curious as to where the term P-code came from and what defined it.
>> Dwight
>>
>
> The first thing that comes to mind is UCSD P-system, but some people
> probably mean it to use "any interpreted bytecode".
>
> --Toby
I wonder if it came from RSTS-11 BASIC-PLUS (1970). It used what amounts to
P-code, which it called "push-pop code". Probably because it was pretty much
machine code for a simulated stack machine.
That approach is at least a decade older, in fact. The world's first ALGOL
compiler (Dijkstra and Zonneveld, 1961) also used this "machine code for an
imaginary machine" technique. Or more precisely, a hybrid of P-codes and real
machine instructions. This allows your compiler output to use primitives
better suited to the language, like "enter ALGOL block" on a machine without a
hardware stack.
paul