Post by luser droogPost by luser drooghttps://hardware.slashdot.org/story/22/12/10/2155203/source-code-for-adobes-postscript-publicly-released
most of it anyway. The stacks are implemented as linked lists.
Some other interesting discoveries. The meaning of the 'unregistered' error
has to do with calling an invalid operator code that indexes an uninitialized
slot in the "command table". There is an internal "loop" type object that is
used as a sentinel on the exec stack to delimit a loop's frame, making an
easily searchable target for the 'exit' operator.
Some discussion has also started in comp.lang.c in a thread by Bart about typedefs.
I've started a thread in comp.lang.misc about cloning the PostScript interpreter's
ability to load a VM image from disk and resume a saved execution state.
Notably the Adobe interpreter creates an image after populating systemdict and
the operator table and the initial set of names. Then it can quick get up and running
by loading this image from disk, bypassing all that code that constructs the operator
objects. I suppose a lot of the C code that does this initialization can also be stripped
from the code that goes into ROM.