On 21 Feb 2019, at 13:40, Mariano Martinez Peck wrote:

Vassili Bykov Hi Max,

It looks like it was fixed on a later version of VBRegex. I was able to extract the 2 little changes to make it work. Do you know if there is an
issue already open for this so that I can submit the changes?

BTW, I am trying to understand the history of Regex. It's clear that the original implementation was done by Vassili Bykov and the packages were called VBRegex and that was in VW under the Public Store. I guess, at some point, that code was ported to Pharo. In Pharo 1.1 the packages are still
called 'VB-Regex' but on recent ones its called "Regex".


The package name changed between Pharo 1.1.2 and Pharo 1.2.2, as far as I can tell from the images I have on my machine.

What I cannot confirm is which version Pharo (or maybe this was even en Squeak before Pharo forked) ported from VW. All I could find is a class comment on RxMatcher saying "-- Regular Expression Matcher v 1.1 (C) 1996, 1999 Vassili Bykov". As you can see, that is 1999. VW has newer versions
from 1.2.x to 1.4.x, latest commit being on 2014.

The oldest images I have is Squeak3.9 of 7 November 2006 update 7067, and that already contains VBRegex.


The particular problem we are discussing in this thread was fixed in
1.3.1.

So I am not sure if someone ever tried porting again a newer version to
Pharo? It doesn't seem the case.

It would certainly be great to get those fixes!


Anyone knows a bit more the history here?

Thanks


On Thu, Feb 21, 2019 at 5:18 AM Max Leske <maxle...@gmail.com> wrote:

Hi Mariano,

Yes, there is indeed such a bug (if it hasn't been fixed in an update to VBRegex that is). The bug is simple to work around though, as all you have to do is sort your branch (|) terms by length. Here's the comment I've
written for a regex generating method is use:

" The sorting is very important because VB-Regex aborts early on branches. Example: 'bl' matchesRegex: 'b|bl' --> false The solution is to sort by
length (longest first), then alphabetically, with the short group
optimization at the end. "

Cheers,
Max

On 21 Feb 2019, at 3:33, Mariano Martinez Peck wrote:



On Wed, Feb 20, 2019 at 5:56 PM Esteban Maringolo via Glass <
gl...@lists.gemtalksystems.com> wrote:

What a good case to have GToolkit visualizations help debugging this RX
tree ;)


Oh yeah..And look Doru, they have some stuff on the top right
"Explanation" panel: https://regex101.com/r/MqVXz8/1


--
Mariano
https://twitter.com/MartinezPeck
http://marianopeck.wordpress.com



--
Mariano
https://twitter.com/MartinezPeck
http://marianopeck.wordpress.com



Reply via email to