Jack Stouffer
8ddccb2ef0
Fixed local imports in std.regex.internal.generator
2016-07-01 12:27:32 -04:00
Jack Stouffer
3c9b46df7f
Fixed local imports in std.regex.internal.backtracking
2016-07-01 12:27:32 -04:00
Sebastian Wilzbach
1d34a121e9
apply all-man braces in Phobos
...
// find common cases
sed -E "s/^(\s*)((if|static if|for|foreach|foreach_reverse|while|unittest|switch|else|version).*)\s*\{$/\1\2\n\1{/" -i **/*.d
// catch else-if
sed -E "s/^(\s*)} (else static if| if|else if|else)(.*)\s*\{$/\1}\n\1\2\3\n\1{/" -i **/*.d
// remove created trailing whitespace
sed -i 's/[ \t]*$//' **/*.d
2016-05-31 13:07:53 +02:00
Mathias Lang
7f53fdfec0
Do not rely on the result of a comma expression
...
Also add `pragma(inline, true)` to ensure this function stays inlined.
2016-05-27 15:54:26 +02:00
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