I just finished converting Perk (a Java compiler targeting Parrot) from PCT+NQP/PIR to PCT+Rakudo. That is, the main entry point and actions.pm for my compiler are written in Perl 6.

   http://github.com/chrisdolan/perk/tree/master

I had to make a few little hacks along the way:
* PCT::HLLCompiler.parsegrammar() and .parseaction() require Parrot strings as arguments, not Rakudo strings. So, I used .WHICH as a hack to downconvert. * I couldn't figure out how to call 'compreg' from Rakudo, so I used inline PIR * a '<!before <keyword>>' token in my grammar couldn't find the <keyword> token in the grammar, so I had to fully qualify it as <Perk::Grammar::keyword>. This is probably because the grammar is declared from Rakudo vs. compiled directly from PGE.

Happily, I didn't need to change a single line of code in my actions.pm -- with the new 'make' builtin, my NQP code is fully supported by Rakudo. It would be interesting to see what remaining NQP constructs are not supported under Rakudo.

Chris

Reply via email to