Thread overview
Regex
Jul 09, 2009
Vladimir Voinkov
Jul 09, 2009
BLS
Jul 09, 2009
Robert Fraser
Jul 10, 2009
BLS
Jul 11, 2009
Vladimir Voinkov
Jul 11, 2009
Lutger
July 09, 2009
std.regex can't be used in compile time function call. It's quite frustrating...
July 09, 2009
Vladimir Voinkov wrote:
> std.regex can't be used in compile time function call. It's quite frustrating...

see dsource.org .. afaik there is a compile time regex project. hth
July 09, 2009
BLS wrote:
> Vladimir Voinkov wrote:
>> std.regex can't be used in compile time function call. It's quite frustrating...
> 
> see dsource.org .. afaik there is a compile time regex project. hth

http://www.dsource.org/projects/scregexp

But the generated functions aren't CTFE-compatible AFAIK. A CTFE regex engine would be um... "tricky" to say the least. About 50GB of memory tricky (on DMD, LDC has a GC... though, it's still just as slow with CTFE). Really, if you need that level of code manipulation, a preprocessor is probably a better choice.
July 10, 2009
Robert Fraser wrote:
> BLS wrote:
>> Vladimir Voinkov wrote:
>>> std.regex can't be used in compile time function call. It's quite frustrating...
>>
>> see dsource.org .. afaik there is a compile time regex project. hth
> 
> http://www.dsource.org/projects/scregexp
> 
> But the generated functions aren't CTFE-compatible AFAIK. A CTFE regex engine would be um... "tricky" to say the least. About 50GB of memory tricky (on DMD, LDC has a GC... though, it's still just as slow with CTFE). Really, if you need that level of code manipulation, a preprocessor is probably a better choice.

Ouch!
Remaining question :
>>> std.regex can't be used in compile time function call....

Why this* don't work for you ?
*  http://www.digitalmars.com/d/2.0/templates-revisited.html
(middle of the document / Regular Expression Compiler)

July 11, 2009
> >> see dsource.org .. afaik there is a compile time regex project. hth
> > 
> > http://www.dsource.org/projects/scregexp
> > 
> > But the generated functions aren't CTFE-compatible AFAIK. A CTFE regex engine would be um... "tricky" to say the least. About 50GB of memory tricky (on DMD, LDC has a GC... though, it's still just as slow with CTFE). Really, if you need that level of code manipulation, a preprocessor is probably a better choice.
> Ouch!
> Remaining question :
>  >>> std.regex can't be used in compile time function call....
> 
> Why this* don't work for you ?
> *  http://www.digitalmars.com/d/2.0/templates-revisited.html
> (middle of the document / Regular Expression Compiler)
> 

I have seen the article and really inspired by the language might. That is why I'm surprised b the std.regex, the library codeveloped by Andrei!

Thanks for the scregexp link. Looks promising.

July 11, 2009
BLS wrote:

> Robert Fraser wrote:
>> BLS wrote:
>>> Vladimir Voinkov wrote:
>>>> std.regex can't be used in compile time function call. It's quite frustrating...
>>>
>>> see dsource.org .. afaik there is a compile time regex project. hth
>> 
>> http://www.dsource.org/projects/scregexp
>> 
>> But the generated functions aren't CTFE-compatible AFAIK. A CTFE regex engine would be um... "tricky" to say the least. About 50GB of memory tricky (on DMD, LDC has a GC... though, it's still just as slow with CTFE). Really, if you need that level of code manipulation, a preprocessor is probably a better choice.
> 
> Ouch!
> Remaining question :
>  >>> std.regex can't be used in compile time function call....
> 
> Why this* don't work for you ?
> *  http://www.digitalmars.com/d/2.0/templates-revisited.html
> (middle of the document / Regular Expression Compiler)

Because it compiles the regex, but matching is still done at runtime? Or is it CTFE compilable? iirc CTFE wasn't around at the time this regex compiler was written.