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
signature.asc
Description: PGP signature