On Jul 14, 2020, at 11:49 AM, Toby Thain via cctalk
<cctalk at 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