
On Mon, 2011-01-31 at 12:40 +0100, Mathias Gaunard wrote:
On 31/01/2011 00:30, Vit Stepanek wrote:
Hi,
I've implemented the basic regexp functionality using few simple template classes. Any regexp can be created by inserting the template classes one into another in the required order. Although it's in the design state, I'd like to find out if there's any interest in providing this functionality.
Let me present you some short introduction to the topic.
Some basic classes include - String Match (full string matching) - Is-in Match (matches any character in the list) - Or Match - Quantity
and so on.
These are the "building blocks" of the regexp. Each class does a very little bit but when combined in the specific order, you gain a clearly defined string matching algorithm of any kind and any complexity.
In addition, it's quite simple to add any missing functionality. You just need to define you're desired algorithm and mix it with the others.
How is that significantly different from what spirit or xpressive do?
_______________________________________________
Well, how is spirit or xpressive different from what all the regexp interpreters do? I think the case is HOW it is done. As I can see, both existing libs do it different way than I do. Both are very general-purpose, providing tones of functionality. But what I have is clear syntax, self-descriptive objects, which you use without knowing all the overloaded operators' functionality, which differs from implementation to implementation. All in one object, once it's created, it's ready. Everything in one object declaration. Sometimes simplicity counts. But that's just my opinion. Vit