Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Q on PIR vs PASM

6 views
Skip to first unread message

Klaas-Jan Stol

unread,
Feb 2, 2007, 6:17:28 AM2/2/07
to perl6-i...@perl.org
hi,

IIRC, IMCC started as a kind of pre-processor for PASM, in other words,
it allowed more readable shortcuts for several constructs. Eventually,
everything was translated to pure PASM, that is, 1 long list of real
Parrot instructions (no .sub/.end blocks etc).

At some point, IMCC was merged with Parrot as its parser. Since then, a
lot of additions have been done, like the .sub pragmas like :load
,:main, :init, :outer etc. (When Perl6 and Parrot essentials was
written, these flags were not there)

Now, my question, is it still true that every PIR construct has a PASM
form as well, can every PIR construct be translated directly to PASM?
That is, can one still get the same behaviour that is achieved by all
those high-level PIR constructs like :outer(...), in PASM as well?

thanks in advance,
klaas-jan

Allison Randal

unread,
Feb 6, 2007, 12:08:31 PM2/6/07
to Klaas-Jan Stol, perl6-i...@perl.org
Klaas-Jan Stol wrote:
> hi,
>
> IIRC, IMCC started as a kind of pre-processor for PASM, in other words,
> it allowed more readable shortcuts for several constructs. Eventually,
> everything was translated to pure PASM, that is, 1 long list of real
> Parrot instructions (no .sub/.end blocks etc).

Yes, PIR was initially nothing more than a little syntactic sugar.

> At some point, IMCC was merged with Parrot as its parser. Since then, a
> lot of additions have been done, like the .sub pragmas like :load
> ,:main, :init, :outer etc. (When Perl6 and Parrot essentials was
> written, these flags were not there)
>
> Now, my question, is it still true that every PIR construct has a PASM
> form as well, can every PIR construct be translated directly to PASM?
> That is, can one still get the same behaviour that is achieved by all
> those high-level PIR constructs like :outer(...), in PASM as well?

Ideally, yes. In practice, many tests are written in PIR these days, so
we may not have complete coverage for the PASM syntax versions. It's one
of those ongoing low-level tasks for cage cleaners.

Allison

0 new messages