Commit graph

58 commits

Author SHA1 Message Date
Sebastian Wilzbach
484f7bfbe0 enforce: whitespace after catch 2016-05-14 15:28:43 +03:00
Jack Stouffer
c1600e7cf8 Fixed long lines in std/regex/internal/thompson.d 2016-05-10 20:51:39 -04:00
Jack Stouffer
0019d42106 Fixed long lines in std/regex/internal/tests.d 2016-05-10 20:51:39 -04:00
Jack Stouffer
a932457c06 Fixed long lines in std/regex/internal/backtracking.d 2016-05-10 20:51:39 -04:00
Dmitry Olshansky
680f690939 [std.regex] Inline regex flags 2016-04-30 11:39:05 +03:00
David Nadlinger
fda8267b2c Merge pull request #4250 from wilzbach/remove_at_property
trivial: remove @property from enums
2016-04-27 21:14:23 +01:00
Dmitry Olshansky
c1027f1970 Merge pull request #4246 from wilzbach/sed_spaces_part_2
style fix: add space after 'for' operator
2016-04-27 16:17:18 +04:00
Sebastian Wilzbach
d9de53677e trivial: remove @property from enums 2016-04-27 12:44:57 +03:00
Sebastian Wilzbach
d1714c9afb minor style fixes 2016-04-27 04:18:22 +03:00
Sebastian Wilzbach
5a8988c149 style fix: add space after for operator 2016-04-27 02:04:02 +03:00
Sebastian Wilzbach
3d67cd228c style fix: space between operators 2016-04-26 22:26:20 +03:00
Dmitry Olshansky
8a487e2145 [std.regex] Split generation and parsing, almost completely.
This should aid readability and reduce the obscurity of the parser.
Also potentially non-generating parser is possible.
2016-04-25 14:12:08 +03:00
Ilya Yaroshenko
cf48dc32e2 Merge pull request #4180 from DmitryOlshansky/fix-issue15864
Fix issue 15864 - chmgen triggers exception in std.regex
2016-04-16 06:41:27 +02:00
Dmitry Olshansky
e6c3320b1f Fix issue 12227 - Allow matching multiple patterns in one go with std.regex 2016-04-15 16:17:36 +03:00
Ilya Yaroshenko
4e393eb70a Merge pull request #4156 from DmitryOlshansky/issue-2104
Fix issue 2104 - escape function for regular expressions
2016-04-14 17:53:00 +02:00
Dmitry Olshansky
cf6152c13f Fix issue 2104 - escape function for regular expressions 2016-04-14 16:54:36 +03:00
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
Dmitry Olshansky
25d81e662d Fix issue 15864 - chmgen triggers exception in std.regex 2016-04-11 21:43:19 +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
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
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