Actually, if you change it to <ruport>.*|<rport> -- this will work as you expect. It's a bug that your version doesn't work, of course. It does seem to involve <alpha> tangentially, but it is unrelated to underscore.
On Mon, Oct 1, 2018 at 6:17 PM Vijayvithal via RT < perl6-bugs-follo...@perl.org> wrote: > This issue surfaces because of the token TOP line. If instead of > <rport>|<ruport> only ruport was used the testcase works for both cases. > So it is quite > possible that the bug is elsewhere but shows up as a difference between > alpha and alnum. > > Regards > Vijay > > > On Fri, Sep 28, 2018 at 07:18:49AM -0700, Patrick R. Michaud via RT wrote: > > The issue doesn't seem to be the underscore, because I get the same > result even when converting the underscore into a letter ('b'): > > > > $ cat gentb.p6 > > grammar G0 { > > token TOP {<rport>|<ruport>.*} > > regex rport { <type>} > > rule ruport { <type>} > > #token type {<alpha>+} > > token type {<alnum>+} > > } > > > > grammar G1 { > > token TOP {<rport>|<ruport>.*} > > regex rport { <type>} > > rule ruport { <type>} > > token type {<alpha>+} > > #token type {<alnum>+} > > } > > my $str="scbin<foo> bar"; > > say "=========== <alnum> Example=============="; > > say G0.parse($str); > > say "=========== <alpha> Example=============="; > > say G1.parse($str); > > > > $ perl6 gentb.p6 > > =========== <alnum> Example============== > > Nil > > =========== <alpha> Example============== > > 「scbin<foo> bar」 > > ruport => 「scbin」 > > type => 「scbin」 > > alpha => 「s」 > > alpha => 「c」 > > alpha => 「b」 > > alpha => 「i」 > > alpha => 「n」 > > $ > > > > > > On Fri, Sep 28, 2018 at 02:26:41AM -0700, Brent Laabs wrote: > > > Are you sure about that? Underscore has been part of the specs > (synopses) > > > for <alpha> for at least 10 years, probably longer. > > > > > > > "_" ~~ /<alpha>/ > > > 「_」 > > > alpha => 「_」 > > > > > > On Thu, Sep 27, 2018 at 7:52 PM Brandon Allbery <allber...@gmail.com> > wrote: > > > > > > > "_" is not an alphabetic character. It's allowed in "alnum" because > that > > > > is by intent what is \w in other regex implementations, which > includes "_". > > > > > > > > On Thu, Sep 27, 2018 at 10:47 PM Vijayvithal < > perl6-bugs-follo...@perl.org> > > > > wrote: > > > > > > > >> # New Ticket Created by Vijayvithal > > > >> # Please include the string: [perl #133541] > > > >> # in the subject line of all future correspondence about this issue. > > > >> # <URL: https://rt.perl.org/Ticket/Display.html?id=133541 > > > > >> > > > >> > > > >> In the attached code, the only difference between the Grammars G0 > and G1 > > > >> is the defination of token 'type' it is defined as <alpha> in one > case > > > >> and as <alnum> in another. > > > >> > > > >> Since the string being matched is 'sc_in' both the alpha and alnum > > > >> tokens should have captured it. But we see the following result on > > > >> execution > > > >> > > > >> =========== <alnum> Example============== > > > >> Nil > > > >> =========== <alpha> Example============== > > > >> 「sc_in<foo> bar」 > > > >> ruport => 「sc_in」 > > > >> type => 「sc_in」 > > > >> alpha => 「s」 > > > >> alpha => 「c」 > > > >> alpha => 「_」 > > > >> alpha => 「i」 > > > >> alpha => 「n」 > > > >> > > > >> > > > >> Perl Version is > > > >> > > > >> This is Rakudo Star version 2018.06 built on MoarVM version 2018.06 > > > >> implementing Perl 6.c. > > > >> > > > >> > > > >> > > > >> -- > > > >> Vijayvithal > > > >> Dyumnin Semiconductors > > > >> > > > > > > > > > > > > -- > > > > brandon s allbery kf8nh > > > > allber...@gmail.com > > > > > > > > -- > Vijayvithal > Dyumnin Semiconductors > >