cardinal-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Cardinal-dev] [COMMIT] Parrot IR compiler (cross post)


From: Melvin Smith
Subject: [Cardinal-dev] [COMMIT] Parrot IR compiler (cross post)
Date: Thu, 30 May 2002 23:50:51 -0400

I just uploaded the Parrot intermediate compiler to CPAN as
well as committing it to the Parrot CVS repository.

You can find it under parrot/languages/imcc if you update
your parrot tree, or get it from CPAN shortly under

http://cpan.org/authors/id/M/ME/MELVIN/imcc/


Please read the README. Have fun! I'll be expecting lots of
suggestions. I'll be expecting suggestions from the Perl6 language
guys as well as the Ruby guys.

I'm personally very happy that, even the hack that it is, there are < 1000 lines.

    340 imc.c
    363 imcc.y
    164 imcc.l
     77 imc.h
    944 total

Well thats before bison and flex do their thing. :)

I provided a sample, generated from my copy of Cola, you'll
notice it only includes subroutines so you'll get a warning
that it is missing an 'end' when you assemble it. Just edit
the .pasm version after compilation and add in an 'end' before
the ret in the first sub. This is just a temporary kludge, I'll
be adding a .start directive which will specify the start
routine for the program. People writing high-level compilers
will want to do this themselves anyway.

The main thing it is lacking right now is spill handling and
support for Parrot's keyed aggregates, plus a few more
keywords. We need to develop a language guide as well, but
I'll hold off until it has a few revisions, pending feedback.

-Melvin




reply via email to

[Prev in Thread] Current Thread [Next in Thread]