>>>> "Chuck" == Chuck Guzis
<cclist at sydex.com> writes:
Chuck> "Incremental compilation" to pseudo-code has been around for a
Chuck> long time--at least from the 1960's. One advantage is that
Chuck> your pseudo- code can have features that the native machine
Chuck> architecture lacks, such as virtual memory, relocatability,
Chuck> large memory space, etc.
Chuck> If done well, the speed can rival (and in some cases, exceed)
Chuck> that of direct-to-native code. I know of a fellow who did a
Chuck> COBOL compiler and run-time back in the 60s that worked inside
Chuck> of a CDC 6000 series PPU (4K of 12 bit words). (Was there ever
Chuck> a COBOL for the 4K PDP 8/L?)
Are you sure that COBOL ran on a PPU? I can't imagine a reason for
doing that, other than as a "watch this" stunt. On the other hand,
Cobol on a 6000 CPU would be sensible and useful.
Chuck> ...A few years later, I used the same technique to write a
Chuck> business BASIC that compiled to an intermediate stack-machine
Chuck> code that ran on an 8085--and multitasked with no special
Chuck> hardware.
Was that before Forth came out? That's the classic example of a
p-code language with multitasking.
Another earlier example is BASIC-PLUS for the PDP-11. That's an
incremental compiler to P-code. Also, in the earlier versions
(RSTS-11, for the no-MMU PDP-11s) it included multitasking
(timesharing) support in the P-code machinery. The later versions
(RSTS/E) didn't need that because there was a real kernel with MMU
hardware.
paul