use v6.c;
grammar T { token TOP { ^ [||' ']+ $ } token a { 'a'+ } token b { 'b'+ } }
my $text = "aaaaab ab aaaaabbbbbab aabb ababab abacab";
my @rules = T.^methods(:local).map( *.name ).sort; my $r = T.parse($text);
say $text ~~ /\w+/;
say "Rules: { @rules.join(',') }"; say $r.gist;