On Tue, Feb 17, 2009 at 2:47 PM, Daniel de Kok <m...@danieldk.org> wrote: > On Tue, Feb 17, 2009 at 8:39 PM, BCS <a...@pathlink.com> wrote: >> For what it's worth, I have a partial clone of the .NET API built on top of >> PCRE. I would have to ask my boss but I expect I could donate it if anyone >> want to use it as a basis. > > Actually, I was wondering why nobody is considering real regular > languages anymore, that can be compiled to a normal finite state > recognizer or transducer. While this may not be as fancy as Perl-like > extensions, they are much faster, and it's easier to do fun stuff such > as composition.
Tango's regex engine is just that. It uses a tagged NFA method. http://www.dsource.org/projects/tango/docs/current/tango.text.Regex.html The problem with this method is that while it's certainly faster to match, it's MUCH slower to compile. There are no pathological matches; only pathological compiles ;) I'm talking 60-70 seconds to compile a more complex regex. This might be an acceptable tradeoff for when you need to compile a regex in a long-running app like a server, but it's completely unacceptable for most small, Perl-like text munging programs. Unless of course this slowdown is unique to Tango's implementation of this method!