Commit graph

254 commits

Author SHA1 Message Date
Ilya Yaroshenko
11ef8c4a11 Merge pull request #4157 from DmitryOlshansky/issue14504
Fix issue 14504 Regex Optimizer doesn't merge equivalent threads
2016-04-11 23:06:43 +02:00
Jack Stouffer
02e11abd54 Fix Issue 15797: Add keepSeperator option to std.regex.splitter 2016-04-11 15:55:14 -04:00
Dmitry Olshansky
25d81e662d Fix issue 15864 - chmgen triggers exception in std.regex 2016-04-11 21:43:19 +03:00
Dmitry Olshansky
9f256889ed Add documnetation and changelog for issue 12367 2016-04-11 15:05:21 +03:00
Dmitry Olshansky
12c7d68044 Fix issue 12367 - std.regex: Recognize (?# ... ) comment syntax 2016-04-10 22:47:40 +03:00
Dmitry Olshansky
0e7fc33aba Fix issue 14504 Regex Optimizer doesn't merge equivalent threads
We can be unprecise a bit by using a hash of table to represent a state of
optimizer thread, after all any collision will result in just a shorter prefix search.
2016-04-10 22:43:24 +03:00
Dmitry Olshansky
5e4853f723 Fix issue 15773 - D's treatment of whitespace in character classes in free-form regexes is not the same as Perl's 2016-04-09 11:14:45 +03:00
Steven Schveighoffer
635c9aa0d5 Merge pull request #4147 from DmitryOlshansky/faster-ct-bt
[std.regex] Even faster C-T regex
2016-04-08 14:13:33 -04:00
Ilya Yaroshenko
efd74a5fea Merge pull request #4160 from DmitryOlshansky/issue-14615
Fix issue 14615 - std.regex.replaceFirstInto throws exception when no match is found
2016-04-07 17:40:49 +02:00
Dmitry Olshansky
7f8b6158e7 Help DMD's inliner a bit for 2 functions 2016-04-07 15:08:30 +03:00
Dmitry Olshansky
0816375a34 Generating unrolled code for small codepoint sets
Need to figure out the case of empty charsets.
2016-04-07 15:08:30 +03:00
Ilya Yaroshenko
af373d96fc Merge pull request #4140 from DmitryOlshansky/rolling-trace-filter
[std.regex] Add rolling trace filter to backtracking engine
2016-04-07 14:01:14 +02:00
Dmitry Olshansky
add07e7ea6 Fix issue 14615 - std.regex.replaceFirstInto throws exception when no match is found 2016-04-07 10:49:30 +03:00
Dmitry Olshansky
afd16eac09 Fix issue 7551 - Regex parsing bug for right bracket in character class 2016-04-06 22:52:54 +03:00
Dmitry Olshansky
4b7b8d7f6c Add rolling trace filter to backtracking engine
This cuts down on redundant backtracking on most real-world inputs.
2016-04-02 12:09:20 +03:00
Dmitry Olshansky
19778b1c7a address review comments 2016-03-28 12:54:59 +03:00
Dmitry Olshansky
df07aa7dea Special case ASCII to use bit tables insted of 2-level tries 2016-03-27 20:26:49 +03:00
Dmitry Olshansky
0e55583fed Start small - direct dispatch tables 2016-03-27 16:49:44 +03:00
Dmitry Olshansky
ec7b647d27 Segregate opcodes to functions; preparation to JIT
Then generate sequence of function calls to them..
2016-03-27 16:24:03 +03:00
Daniel Murphy
77b06e8c93 Merge pull request #4103 from DmitryOlshansky/bloom-filter
[std.regex] Introduce filtered loops with bloom filters
2016-03-27 05:30:53 +11:00
Dmitry Olshansky
56b90e7f5a Drop "quick" test that never was quick anyway 2016-03-24 18:21:28 +03:00
Dmitry Olshansky
0736e907a4 Allow nextChar to be inlined by DMD
Healthy 2-3% of speedup.
2016-03-23 21:42:08 +03:00
Dmitry Olshansky
9d445d182d Introduce filtered loops with bloom filters
Make use of bloom filter on dchar to predict if we should take the
out of loop branch.
2016-03-21 22:06:56 +03:00
Dmitry Olshansky
88c3a3d52f 2 minor tweaks to std.regex default engine
Roughly 10-15% faster on a few common patterns.
2016-03-07 15:46:30 +03:00
Sebastian Wilzbach
6c386d6f31 convert docstring examples to unittests 2016-03-03 19:39:12 +02:00
Steven Schveighoffer
b0acb7a394 Fix remaining import deprecation messages 2016-02-22 16:03:12 -05:00
Martin Nowak
ce2ac192c9 fix incorrect imports/fqn usages
- mostly of the form `import a.b : sym; a.b.sym();`, which is wrong b/c
  selective imports do not add the module to the current scope
2016-02-20 14:41:44 +01:00
Walter Bright
a33a6d8660 conform to new import lookup rules 2016-02-13 04:12:35 -08:00
Shriramana Sharma
5978ca7831 migrate other Phobos modules to use std.exception.basicExceptionCtors 2016-01-17 10:39:37 +05:30
Benjamin L. Merritt
5f08c058ab Changed "Examples:" in Ddoc to "Example:" 2015-12-17 18:32:41 -08:00
Walter Bright
cf22992cbb Merge pull request #3768 from CyberShadow/pull-20151024-051829
HTML fixes
2015-10-24 15:05:00 -07:00
Vladimir Panteleev
86cf380007 HTML fixes 2015-10-24 06:19:23 +00:00
Shriramana Sharma
1e7a6f76da give a better example for std.regex.replaceAllInto 2015-10-22 16:24:35 +05:30
Brian Schott
67c95e6de2 Merge pull request #3715 from dcarp/AliasSeq
Rename obsolete TypeTuple to AliasSeq
2015-10-16 20:59:56 -07:00
Vladimir Panteleev
82590904f7 fix Issue 15208 - Eradicate all uses of "Enforcement failed" in Phobos 2015-10-15 23:44:44 +00:00
Dragos Carp
d698887729 Remove obsolete TypeTuple references
Replace following names:
std.typetuple      -> std.meta
TypeTuple          -> AliasSeq
ParameterTypeTuple -> Parameters
FieldTypeTuple     -> Fields

std.traits requires more work than search/replace and is left unchanged.
2015-10-13 20:37:44 +02:00
David Soria Parra
0b55d6319a std.regex: simplify case statement
The old issue 12603 is fixed according to the issue tracker. Therefore we try to
simplify the case statement as proposed initially.
2015-07-08 14:05:40 +02:00
David Soria Parra
a1de9eea10 std.regex: additional unittests testing ||, --, && and ~~ 2015-07-08 14:05:40 +02:00
David Soria Parra
46831a485e std.regex: correctly add last character of a set to regex (bugzilla 14529)
When encounting the end of a character set ']' we have to correctly add the last
encountered valid character to the regex and resepect flags. This bug caused the
last character to not be correctly case folded if case folding was requested.

This fixes https://issues.dlang.org/show_bug.cgi?id=14529.
2015-07-07 01:32:11 +02:00
Robert burner Schadek
81eef5a48b regex_internal: alias syntax update 2015-05-28 19:02:15 +02:00
Walter Bright
d9a9826e55 Revert "Introducing std.meta package" 2015-05-06 14:36:45 -07:00
Dicebot
82f54a38d3 TypeTuple -> MetaList inside Phobos 2015-05-05 22:22:11 +03:00
Dicebot
73f773838d import std.typetuple -> import std.meta 2015-05-05 22:22:10 +03:00
Dragos Carp
b170d93693 Fix some PHOBOSSRC broken links 2015-04-29 11:02:58 +02:00
Martin Nowak
3d0881749f fix compile times for regex tests 2015-03-14 02:46:48 +01:00
Mihails Strasuns
37e304e2df Fix mixed package protection in std.regex
This code worked before because of bug in qualifiied package protection
implementation in DMD which resulted in merging protection levels of
aggregates and their member symbols.
2015-03-11 04:21:44 +02:00
k-hara
e7b3d834d7 detab and remove trailing whitespaces 2015-02-10 00:56:40 +09:00
Andrei Alexandrescu
cb044b02aa Verbatim-related changes in phobos 2015-01-12 00:05:36 -08:00
Andrei Alexandrescu
26b4771dc1 Eliminate superfluous "Intro" heading 2015-01-06 22:31:08 -08:00
Rainer Schuetze
7c2f962b10 make nested foreach over TypeTuple bodies into lambdas to avoid huge functions 2014-11-28 17:15:37 +01:00