in reply to Parse::RecDescent eats large part of grammar, thinking it to be implicit subrule
I tink that P::RD is getting confused with your very first line:
I also had some problems doing "( rule | rule2 | rule3 ) rule4", I'd suggest trying splitting it up:command: ( oops /\s+/ word { "(oops '$item[2])" }
BTW, you don't need to explicitly say that commands/words has any number of spaces between them, the parser assumes that anyway. (At least, mine did :)command: subcommand ...!/\S/ subcommand: oops {action} | np {action} | ..
C.
In Section
Seekers of Perl Wisdom