Since all of the Parrot includes are .pasm and are using the old .constant
directive, which was a macro expansion in the IMCC lexer, and
I've removed macros from IMCC, I have a pending patch to
parrot_include.pl and all of the parrot header files to change it to generate
.imc include files rather than .pasm for runtime/parrot/include

This also means .pasm files won't be able to .include these anymore,
you'd have to use IMC.

I didn't commit it because I'm not so sure removing .constant
is the right thing to do, but I'm also pretty sure I don't like
maintaining IMCC as the "reference" Parrot assembler. Sure,
I like that it can process PASM instructions, but I'm not a fan
of the other things (macros, etc.).

I don't like supporting 2 "language modes" in the same lexer/compiler.
Its confusing enough for beginners to remember that they can
use C<.constant> in a .PASM file, but in .IMC they have to use C<.const>.
And, oh by the way, .constant is done by the lexer, .const is handled
by the compiler. Yuck.

Anyone with opinions are asked to give their 2 cents here.

-Melvin




Reply via email to