lex behavior

2002-06-13 Thread Luke Palmer
I'm still unclear as to how you implement lex-like longest token rule with P6 regexes. If the | operator grabs the first one it matches, how do I match bacamus out of this?: bacamus =~ / b.*a | b.*s / Luke

Re: lex behavior

2002-06-13 Thread Damian Conway
I'm still unclear as to how you implement lex-like longest token rule with P6 regexes. If the | operator grabs the first one it matches, how do I match bacamus out of this?: bacamus =~ / b.*a | b.*s / Borrow this trick from Parse::RecDescent: rule max (*@candidates) {{

RE: lex behavior

2002-06-13 Thread Brent Dax
Damian Conway: # I'm still unclear as to how you implement lex-like longest # token rule # with P6 regexes. If the | operator grabs the first one it matches, # how do I match bacamus out of this?: # # bacamus =~ / b.*a | b.*s / # # Borrow this trick from Parse::RecDescent: # #

Re: lex behavior

2002-06-13 Thread Luke Palmer
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

RE: lex behavior

2002-06-13 Thread Larry Wall
On Thu, 13 Jun 2002, David Whipp wrote: : Second, we should eliminate as much of the syntactic noise as possible: : : max b.*a b.*s : : would be nice -- with parenthesis, or the like, needed only when things : become ambiguous. I think, though am not sure, that having whitespace act as : an

m:foobar syntax

2002-06-13 Thread Luke Palmer
I came across this problem when writing the vim syntax file: How can we tell the difference between these?: m:option(pattern) m:option(argument)/pattern/ Luke

RE: foobar syntax

2002-06-13 Thread Brent Dax
Luke Palmer: # I came across this problem when writing the vim syntax file: # # How can we tell the difference between these?: # # m:option(pattern) # m:option(argument)/pattern/ The difference is that the first is a syntax error. :^) I think it says that '(' is no longer a valid

Re: m:foobar syntax

2002-06-13 Thread Damian Conway
I came across this problem when writing the vim syntax file: How can we tell the difference between these?: m:option(pattern) m:option(argument)/pattern/ Easy. As A5 states, (...) are no longer leagal regex delimiters. So the first is a syntax error. :-) Damian