RE: [PATCH] Parrot::Optimizer bugs

2002-01-21 Thread Simon Glover
On Mon, 21 Jan 2002, Brent Dax wrote: > > If the problem is backtracking, can't you just use the (?>) > no-backtracking syntax? > Didn't think of that. I'm a bit concerned at the large warning signs attached to it in perlre.pod, though. Simon

RE: [PATCH] Parrot::Optimizer bugs

2002-01-21 Thread Brent Dax
Simon Glover: # Right: the real cause of the second bug is similar to what I # thought it # was - when it sees a float, the regex engine first checks to # see if it # is an integer by trying the substitution: # # s/^(-?\d+)(?!\.)// # # The problem is that when, say, 1.0 gets fed to thi

Re: [PATCH] Parrot::Optimizer bugs

2002-01-21 Thread Simon Glover
Right: the real cause of the second bug is similar to what I thought it was - when it sees a float, the regex engine first checks to see if it is an integer by trying the substitution: s/^(-?\d+)(?!\.)// The problem is that when, say, 1.0 gets fed to this, and fails to match, th

Re: [PATCH] Parrot::Optimizer bugs

2002-01-21 Thread Simon Glover
On Mon, 21 Jan 2002, Simon Glover wrote: > The other bug is a misplaced ? in the regex checking for integers. > This makes the match non-greedy, so 1.0 (for example) gets > split up into 1000 (which matches the regex) and 0.0 (which matches > as a float the next time around the loop). T