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
>
>

Reply via email to