Excellent node! I have a couple of questions:
- Why do you do [@item[0..$#item]] rather than just [@item]? IIRC, the second will copy the array as well, so there's no need to take a slice.
- re: number 15 -- I've noticed that it complains about RD_AUTOACTION when you use Precompile (which is the same as the command-line?), but it seems to still append auto-actions just fine. Is this the behavior you saw?
And finally, one additional suggestion to add: Do as little as possible in your actions, particularly in the ones in lower-level rules. Building up and tearing down parse trees can be awfully slow, so it may be faster to just do the fastest thing possible during the parse, and post-process it afterwards.