I figured that (I actually did it, in a less-pretty form, in my early 
Perl days when I wrote a syntax highlighter for my website).  So there's 
no elegant way the new regexes support it? That's a shame.

But I see now how state objects are a very cool idea.


Oh, and I'd just thought I'd let everyone know: I'm writing a vim syntax 
highlighting file for Perl 6 at the moment.  I'll post it when it's in an
acceptable state.

> Borrow this trick from Parse::RecDescent:
> 
>       rule max (*@candidates) {{ 
>               my $best; 
>               my $startpos = .pos;
>               for @candidates -> $next {
>                       .pos = $startpos; 
>                       $best = $0 if /<$next>/ && $best && $0.length < $best.length {
>               }
>               fail unless $best;
>               let $0 := $best;
>               .pos = $best.pos;
>       }}
> 
> then:
> 
>       "bacamus" =~ / <max(/b.*a/, /b.*s/)> /;
> 
> 
> Damian

Luke

--
Base 8 is just like base 10 really... if you're missing two fingers.
        --Tom Lehrer, "New Math"

Reply via email to