- The standard parser, bytecode compiler, optimizer, interpreter
breakdown has appeared in every overview of Parrot since the dawn of
time, but it's awfully vague. I'm redoing this intro in terms of
existing systems.
- Is it our goal to make Parrot "independent of C's stdio system"? I
don't consider this a high-priority. I do consider it a priority to
define an interface that each platform can satisfy, in a way that makes
sense for that platform (that way may be C's stdio system, if they so
choose).
- "Standalone pieces": to a certain extent we've moved away from the
goal of making Parrot a collection of standalone executables (parser,
bytecode compiler, optimizer, and interpreter) in favor of the rather
large imcc (i.e. the parrot executable). We need to keep this goal in
sight. It's true that we have separate C libraries for IMCC's parser,
compiler, optimizer, and bytecode interpretation. But they're very much
entangled, and it's not clear how successful an attempt to, for example,
use the bytecode interpreter without the PIR and PASM parsers would be.
(A setup that would be useful for embedded platforms.)
- With the new PIR parser written in PGE, it should be easier to write
the PIR->CIL translator mentioned in the LANGUAGE NOTES. (This is not a
requirement for the 1.0 release, but might be a fun project.)
- Pass along any suggestions for subsystems to add. I've limited this
draft to user-relevant subsystems.
Allison