Walter Bright
727fc4d6aa
Merge pull request #2234 from DmitryOlshansky/regex-reuse-sets
...
std.regex - reuse codepoint sets for identical character classes
2014-06-08 17:09:56 -07:00
Dmitry Olshansky
d743a67aaa
Reuse codepoint sets for identical character classes
...
These are very common and blowup memory usage at CTFE (that has no TLS
cache for that).
In any case it makes for slightly more compact memory footprint,
so a net gain regardless.
2014-06-07 15:23:32 +04:00
monarch dodra
d1dc1abb4e
Merge pull request #2170 from DmitryOlshansky/issue-12747
...
Fix issue 12747 std.regex bug in the parser allows reference to open gro...
2014-05-22 10:36:57 +02:00
monarchdodra
001fad4558
Remove trailing whitespaces
2014-05-17 15:35:25 +02:00
Dmitry Olshansky
a7aab32ba7
[CLEANUP] Remove old hack, CTFE is better these days
2014-05-17 01:43:42 +04:00
Dmitry Olshansky
f4a37ae7d6
Fix issue 12747 std.regex bug in the parser allows reference to open groups.
...
Check the stack of opened constructs for groups when emit back-refs.
2014-05-16 17:34:05 +04:00
Dmitry Olshansky
44445cfb9e
Fix issue 12366 Range violation in compile-time regex
...
Back-references are not a part of "quick-test" in R-T version,
neither should they be in C-T.
2014-05-15 16:07:47 +04:00
Dmitry Olshansky
0507fd70e8
Fix issue 12713 std.regex.regex crashes with SEGV, illegal instruction resp. assertion failure with certain bad input
2014-05-14 00:23:07 +04:00
Dmitry Olshansky
520438d9ef
Fix issue 12691 std.regex.bmatch bug in empty OR operator inside of ()*
...
Must save variables that track advancement inside of infinite loops
on per-thread basis. Apparently no amount of trickery would let us avoid it.
2014-05-12 19:34:13 +04:00
Dmitry Olshansky
5baa7ca53c
fix issue 10798 ctRegex unicode set ops unimplemented
2014-04-23 20:20:16 +04:00
Dmitry Olshansky
d9e8adacaa
Re-adjust test cases for C-T version
...
Cover even more, but in 5 separate compiler runs.
Few cases still hit CTFE bugs
2014-04-23 20:19:53 +04:00
Dmitry Olshansky
cef454d432
Workaround curious CTFE bug
2014-04-23 20:19:53 +04:00
Dmitry Olshansky
1a4d897587
Enable again linear scans for small sets in std.regex
2014-04-23 20:19:51 +04:00
Dmitry Olshansky
20f3e6d890
Eanble kickstart engine for Thompson as well
2014-04-23 20:19:51 +04:00
Dmitry Olshansky
1fa74e5d89
fix issue 11784
...
Actually add a test case, the issue was fixed as part of the set
of commits that precede this one.
2014-04-23 20:19:50 +04:00
Dmitry Olshansky
be961d35aa
fix 64bit bitrot
2014-04-23 20:10:21 +04:00
Dmitry Olshansky
a091d96e8d
reanble kickstarter engine in std.regex
2014-04-23 20:10:21 +04:00
Dmitry Olshansky
2bb2afab43
get our case-insensitive regex back
2014-04-23 20:10:20 +04:00
Dmitry Olshansky
f33ba75ebf
Kickstart not quite ready, casefolding too. Otherwise looks fine
2014-04-23 20:10:19 +04:00
Dmitry Olshansky
6ad8de8e6a
hack our way to make ctRegex work, some tests disabled
2014-04-23 20:10:18 +04:00
Dmitry Olshansky
4692a8a15c
another minor tweak, always use tries not sets for now
2014-04-23 20:10:18 +04:00
Dmitry Olshansky
4c9e63b9ec
adjust Tries back to 2-level
2014-04-23 20:10:18 +04:00
Dmitry Olshansky
421fbfae3f
workaround internal error
2014-04-23 20:10:17 +04:00
Dmitry Olshansky
e713d7bf75
hacks on the way to integrate new uni into std.regex
2014-04-23 20:10:17 +04:00
Dmitry Olshansky
56a47fd276
a start on std.regex conversion
...
few steps more
2014-04-23 20:10:16 +04:00
Daniel Murphy
63e1836adc
Merge pull request #2106 from DmitryOlshansky/issue-12582
...
fix issue 12582 Non-existant named capture groups cause runtime range vi...
2014-04-24 02:03:16 +10:00
Dmitry Olshansky
85ba4748eb
fix issue 12582 Non-existant named capture groups cause runtime range violation or segmentation fault in regex
2014-04-23 14:53:58 +04:00
Dmitry Olshansky
1931aedb3d
Merge pull request #2097 from AndrejMitrovic/Fix12609
...
[Trivial] Fix12609 - Remove dead code assignment.
2014-04-22 17:29:31 +04:00
Walter Bright
a6cb0315a5
fix Issue 12394 - Regression: std.regex unittests take agonizingly long to run - like hours on OSX
2014-04-21 22:15:28 -07:00
Andrej Mitrovic
70d965879a
Fix12609 - Remove dead code assignment.
2014-04-22 01:13:52 +02:00
Per Nordlöw
d701f90275
Issue 3882: Use cast(void) instead of value capture
2014-03-18 23:50:18 +01:00
Yazan S. Dabain
a81f6200cf
[Trivial] Fix documentation typos
2014-02-28 21:08:19 +02:00
Dmitry Olshansky
01e0acddd6
fix issue 12076
...
Lookaround in ctRegex used wrong number of total captures thus missing
both a bit of optimization AND a special case of 0 matches.
The latter is the reason of range violation in issue 12076.
2014-02-24 02:02:06 +04:00
Dmitry Olshansky
873a440fd4
std.regex - fix issue 12105
...
Handle the case where a lazy quantified loop will have
pessimistic empty "quick test", for example
in front of a lookaround.
2014-02-23 01:24:53 +04:00
Vladimir Panteleev
0cc1d70178
fix Issue 12156 - static import of std.ascii in std.regex causes conflict
2014-02-14 05:39:06 +00:00
k-hara
b391b2ec9f
Convert to new alias syntax
2014-02-11 15:27:05 +09:00
Walter Bright
908908164c
Merge pull request #1906 from blackwhale/issue-12069
...
Fix issue 12069
2014-02-03 13:49:54 -08:00
Dmitry Olshansky
b64c091916
fix issue 12069
...
On Win32 allocating large blocks (>512K) is forwarded to
VirtualAlloc/VirtualFree. Doing these calls is expensive especially in a
loop. As a temporary solution a block size of a segmented stack is
decreased to ~1/8 of critical size.
The code needs to be adapted once allocators are in std.
2014-02-03 23:48:34 +04:00
Daniel Murphy
918abc92d2
Fix wrong test
2014-01-20 04:13:31 +11:00
Daniel Murphy
a656f26e9e
Remove use of automatic adjacent string literal concatenation from phobos
2014-01-20 03:42:21 +11:00
Brad Anderson
5662eb90f6
Update comments to match new std.regex examples
...
Example was switched to matchAll and 'g' was removed but the comment got left in. Another comment about match wasn't switched to matchAll.
2014-01-16 13:49:43 -07:00
Brad Anderson
3979b483e9
Use documented unittest rather than code dup
2014-01-14 12:40:15 -07:00
Brad Anderson
9dcc377d55
Switch to matchFirst/matchAll for examples
2014-01-14 12:40:02 -07:00
monarchdodra
44fe3d88f7
Remove tabs
2014-01-08 08:37:52 +01:00
monarchdodra
fd8540072d
Remove trailing white
2014-01-08 08:30:28 +01:00
monarch dodra
2648a68e9a
Merge pull request #1838 from blackwhale/issue-11839
...
Fix issue 11839
2014-01-07 10:43:35 -08:00
Dmitry Olshansky
8eb57d628b
fix issue 8203, similar issue with lookaround
...
When using a temporary engine as closure its generation counter
should be tracked separately for each lookaround.
For now just use built-in AA, later we could find better places
to store this counter in.
2014-01-07 19:54:49 +04:00
Dmitry Olshansky
d60c60ec44
add _ to allowed characters in regex identifier
2014-01-07 03:29:21 +04:00
Dmitry Olshansky
a673d01ee9
fix issue 11839
2014-01-06 19:50:21 +04:00
Ilya
960c401b6c
std.regex: double 'l' in Cyrillic
2014-01-04 23:01:26 +03:00