At 04:08 PM 3/28/2005, Ron Blaschke wrote:
> On the one hand, IMCC doesn't really help you _run_ code, so I'm not
> inclined to see it part of libparrot.  On the other hand, I haven't
> grokked the entire code base organization, so I could be Greatly
> Missing The Point.

> On the gripping hand, if you'd like to experiment with putting IMCC
> into libparrot, bison's "-p prefix" option seems relevant: "Rename the
> external symbols used in the parser so that they start with prefix
> instead of yy."  Maybe "-p Parrot_imcc_"?

I have left things as-is while getting linkage correctly.  That is,
most of IMCC is currently part of libparrot (only F<main.c> is not).
In the beginning, I thought IMCC is part of the parrot executable, but
reality left me puzzled, so I thought I'll leave the decision to you.

IMCC is integral for Parrot in order to eval/compile new PASM and PIR at runtime. If you ONLY want to support precompiled bytecodes you can get by without it but for quite some time now IMCC _is_ the Parrot front end.

It might make sense to provide separate libparrotvm without dynamic eval
capability so you can leave out the actual compiler and register allocator
and have it loaded on demand (libparrotimcc or some such).
This would help save memory in the default case.

-Melvin




Reply via email to