On 10.08.2011 14:42, Dmitry Olshansky wrote:
In case I failed to mention it before, I m working on the project codenamed FReD that is aimed at ~100%* source level compatible overhaul of std.regex, that uses better implementation techniques, provides modern Unicode support and common syntax riches.

I think it's time for a public beta release, since it _should_ be ready for mainstream usage. There are some rough edges, and a couple issues that I'm aware of but they are nowhere in realistic use cases.

In order to avoid unexpected regressions I'd be glad if current std.regex users do try it for their projects/tests. To get a small no-crap-included beta package see download section of https://github.com/blackwhale/FReD for .7zs. I'll upload newer packages as bugs get exposed and fixed. Alternatively, if you a comfortable with git you may just git clone entire repo. Some helpful notes (same as README) can be found here : https://github.com/blackwhale/FReD/wiki/Beta-release

Caveats:
In order for it compile a tiny change to 2.054 source is needed (no need to recompile Phobos! it's only in templates): patch std.algorithm.cmp according to this diff https://github.com/D-Programming-Language/phobos/pull/176/files#L0L4631 <https://github.com/D-Programming-Language/phobos/pull/176/files#L0L4633> and to get CTFE features working add if(!__ctfe) listed in the next diff on the same webpage. (this is already upstream, so if you're using a fork of phobos just pull this in)

* some API problems might lead to a breaking change, though it didn't happen in this release

Meanwhile the new beta is up:
https://github.com/downloads/blackwhale/FReD/FReD_beta1.7z
or checkout "stable" branch https://github.com/blackwhale/FReD/tree/stable
( as dawgfoto noticed the master branch tend to break on 64-bit as I develop primarily on 32bit)

With prominent changes being:
- fixed a horrible memory corruption with regex having certain groups/backrefs in lookaround

- no GC heap activity during matching in all engines, except as workaround for bug http://d.puremagic.com/issues/show_bug.cgi?id=6199

- new prefix searcher, featuring up to 40x search speed up on patterns with semi-fixed prefixes e.g. \b(https?|ftp|file)://\S+ and ([0-9][0-9]?)/([0-9][0-9]?)/([0-9][0-9]([0-9][0-9])?)

- bool opCast for RegexMatch for nice "test if not empty syntax" as suggested by Steven

- lots of small fixes and optimizations

--
Dmitry Olshansky

Reply via email to