This runs fine on Moar and JVM, but still fails on Parrot:

$ perl6-m -e 'grammar G { token TOP() { <lit "a"> }; token lit($s) { $s } }; 
say ~G.parse: "a";'
a

$ perl6-j -e 'grammar G { token TOP() { <lit "a"> }; token lit($s) { $s } }; 
say ~G.parse: "a";'
a

$ perl6-p -e 'grammar G { token TOP() { <lit "a"> }; token lit($s) { $s } }; 
say ~G.parse: "a";'
Unmarshallable foreign language value passed for parameter '$s'
  in regex lit at -e:1
  in regex TOP at -e:1
  in method parse at gen/parrot/CORE.setting:13987
  in block <unit> at -e:1

I added a test (fudged 'todo' for parrot) to S05-grammar/parse_and_parsefile.t 
with the following commit: https://github.com/perl6/roast/commit/f2f0ea1719

Reply via email to