ID:617285
 
Keywords: regex
Applies to:DM Language
Status: Open

Issue hasn't been assigned a status value.
It's been mentioned in the past many times before, and Tom and Lummox have shown some form of interest in getting proper Regex support in DM beyond Lummox's library.

I wanted to re-open this issue because I've used PCRE quite a bit and find its license suitable for usage in an application like BYOND. The BSD license permits redistribution in binary or source code form either modified or unmodified as long as the copyright notice remains intact and the license remains intact. That doesn't seem like too much of a stretch.
I'm going to bump this because this would be nice to have.
Lummox JR is always talking about how every feature relating to inputs or whatever would require Regex support. Well, here it is. SSX supports.
C++11 comes with built-in regex in the library, there's no need to use anything external.
BYOND uses like, C++1. (or 98, probably.)
BYOND will never use a newer C++ standard because it is compiled with an older, unsupported compiler. They accept this.
If it's compiled with VC6++ (or whatever it's name) then there could be problems, but anything later than that shouldn't cause any problems. If they use gcc there should be even less problems.
It's compiled with exactly that, Visual C++ 6.0.
Ouch...

I haven't used VC++6, but I can't imagine it causing a lot problems. I've tried compiling some old sources and only for() loops needed fixing.
Either way, that's slightly irrelevant. PCRE is a solution that should work perfectly fine even with their compiler choice and it has a compatible license.
In response to Audeuro (#9)
If PCRE doesn't have VC++6 source there's chance it won't work either.

VC++6 isn't really C++ as it doesn't follow C++ standard.
It doesn't need to have "VC++6 source." MSVC++ 6 is legitimate C++. No compiler strictly follows any of the standards, they're all flawed in some way. Generally, you assess a compiler by just how compliant it actually is. In light of this, it's true that back in its day MSVC++ 6 was pretty low-ranking as far as standards compliance, but mostly as far as templates (and thus, the STL) were concerned.
This is an old thread, but chances are nothing has changed - it doesn't compile:
http://www.mail-archive.com/pcre-dev@exim.org/msg01371.html

Edit:
What's wrong with using external .dll? It would be almost trivial to make few functions to utilize regex library. So far I cannot see anyone mentioning this solution, not sure about disadvantages.
An external DLL works fine. In our case we use a modified version of Kuraudo's libregex library. Modified because AFAIK his original library had some a buggy Linux version of his DLL. I fixed that by manually recompiling it.