The following program works as I expect: grammar g { rule TOP {[a| ]+} rule ws {<blank>+} } g.parse('a a'); say "'$/'";
gives me 'a a', but changing [a| ] into [ |a] gives me 'a' I suspect this is a problem in the rakudo implementation. /Patrik Hägglund