Dmitry Olshansky
fa5aa82318
more checking of UTF errors
...
Overlong sequences, wrong continuation for UTF-8.
Lone high surrogate for UTf-16/.
2014-03-11 00:40:37 +04:00
Dmitry Olshansky
a9b5c139fb
test both narrow strings and range of char for matcher trait
2014-03-10 15:15:39 +04:00
Dmitry Olshansky
6635c8f036
hide subMatcher until its API and utility is proven
2014-03-10 14:47:06 +04:00
Walter Bright
be12a3b1f4
enable Ddoc for byGrapheme
2014-03-08 13:07:19 -08:00
Dmitry Olshansky
528099a600
fold in review comments
2014-03-08 13:55:33 +04:00
Dmitry Olshansky
1e771c06c9
@safety bags for utfMatchers
...
Granularity is horribly high. Auto-inference for templates has the
downside that it, leaves no explanations or reasons for failure.
2014-03-08 13:55:33 +04:00
Dmitry Olshansky
c264bd6a51
purify std.uni constructs, blocked by std.algortihm.sort
2014-03-08 13:55:33 +04:00
Dmitry Olshansky
cbd9bd3b79
const/pure annotations
2014-03-08 13:55:32 +04:00
Dmitry Olshansky
d0e408d5f4
workaround stable sort (std.move) not CTFE-able
2014-03-08 13:55:32 +04:00
Dmitry Olshansky
1c86ecf0c4
Introduce UTF Matchers into std.uni.
...
It's a step zero to get decode-less std.regex.
UTF matchers are efficient functors around a set of
specific tries. Enables processing Unicode characters
without decoding at speeds on par with decoding itself.
Along the way make staticIota at 'package' protected and reuse it.
Fix a shameful typo in setSearcher.
2014-03-08 13:55:32 +04:00
Dmitry Olshansky
330d9528a6
Speed up trie construction by factor of ~3.
...
Take advantage of word-at-once checking for slices of bit-packed
arrays in the trie.
2014-02-27 17:07:43 +04:00
Peter Alexander
53d4e03255
Reserve appender length for the common case
2014-02-22 21:03:42 +00:00
Peter Alexander
372bf6352a
Fix Issue 11017 - Improve performance of toLower etc.
...
Changed to use `appender` instead of repeated `~=`.
https://d.puremagic.com/issues/show_bug.cgi?id=11017
2014-02-22 20:33:25 +00:00
monarch dodra
b82adb42db
Fix unicode character ambiguity
...
'LATIN SMALL LETTER A' => 'CYRILLIC SMALL LETTER A'
2014-02-18 00:47:28 +11:00
k-hara
b391b2ec9f
Convert to new alias syntax
2014-02-11 15:27:05 +09:00
Daniel Murphy
a656f26e9e
Remove use of automatic adjacent string literal concatenation from phobos
2014-01-20 03:42:21 +11:00
Brad Anderson
e8f706f1b7
Fix two WEB DDoc macros
2014-01-10 23:27:59 -07:00
Dmitry Olshansky
ac81385b2b
adjust documentation to reflect new capabilities
2014-01-06 15:06:30 +04:00
Dmitry Olshansky
4e5b777432
fix issue 11808
2014-01-06 15:00:03 +04:00
Dmitry Olshansky
35f4e3e08f
[trivial] remvoe trailing whitespace
2014-01-06 02:21:22 +04:00
k-hara
3e791f6bc6
Add import declarations for issue 313 & 314
2013-12-24 09:39:21 +09:00
Martin Nowak
c445f1c288
Merge pull request #1766 from jmdavis/deprecations
...
Move various deprecations along.
Conflicts:
std/algorithm.d
std/zip.d
2013-12-19 23:33:47 +01:00
Ilya
f1775bdc27
Fix issues #11771
...
improve std.uni intersect `ref intersect()(dchar ch)`
Fix issues #11771
2013-12-19 15:15:55 +03:00
Daniel Murphy
654cb520ab
Merge pull request #1785 from 9il/patch-2
...
std.uni: allow using "in"
2013-12-19 03:04:07 -08:00
Ilya
db17a50241
Update uni.d
2013-12-19 12:54:29 +03:00
Ilya
b8acdb3375
add unittest for bool opBinaryRight(string op: "in", U)(U ch) const
2013-12-19 12:34:12 +03:00
Ilya
e93d09e83a
Update uni.d
2013-12-19 12:10:44 +03:00
Ilya
d8f9b59c15
allow using "in"
...
opIndex is const
2013-12-19 12:06:04 +03:00
jmdavis
efd6ea0cbf
Move various deprecations along.
2013-12-11 23:44:12 -08:00
monarch dodra
8deaf7f5a7
Merge pull request #1699 from blackwhale/tweak-uni
...
Tweak unicode Trie generation speed
2013-12-10 12:05:16 -08:00
k-hara
64e0573940
fix property enforcement
2013-12-07 22:26:10 +09:00
Dmitry Olshansky
cf7c701c08
other tweaks for std.regex/ctRegex
2013-12-04 23:51:12 +04:00
Dmitry Olshansky
378224db3a
tweak algorithm to actually fast-track zero-pages
...
Also significantly speed up replicateBits for single bit pattern case.
2013-12-04 23:50:33 +04:00
Dmitry Olshansky
f5b012eab7
refactor TrieBuilder
2013-12-04 23:49:53 +04:00
Dmitry Olshansky
42eb21616f
Make MultiArray CTFE-able, workaround CTFE bug.
2013-12-04 23:48:05 +04:00
Jakob Ovrum
31a4357955
Add std.uni.byGrapheme and std.uni.byCodePoint
2013-12-03 22:06:30 +09:00
Adam D. Ruppe
5861654c7a
import std.typecons outside unittests since it is needed
2013-11-27 09:53:33 -05:00
Dmitry Olshansky
87bff6186c
split off rarely used unicode tables
...
This avoids parsing large files reducing parse time by 30 ms for me
(it took ~70ms to parse tables, now ~40ms).
And move hangul sets to Trie tables as well.
Also saves around 30Kb on "hello world" app.
2013-10-17 18:49:11 +04:00
Martin Nowak
5cecc7622d
smaller executables
...
- Move all tables into functions or structs so that
dmd's multilib will put them into separate archive
objects. This allows the linker to only pick the
tables that are actually used.
2013-10-16 09:03:53 +02:00
Martin Nowak
2ffda8c61c
missing imports when using codepointTrie
2013-10-16 01:39:40 +02:00
Martin Nowak
4027518b74
use functions where applicable to reduce compile time/template bloat
...
- The semantic analysis and object generation only
needs to be done once when building phobos.
Using those overloads becomes a simple link dependency.
- add overloads for most common cases
2013-10-14 01:04:02 +02:00
Martin Nowak
26edfc624f
deduplicate CodepointTries and leave the data in libphobos2.a
...
- Store the static immutable CodepointTries in separate functions.
2013-10-14 00:38:30 +02:00
Martin Nowak
f9e7a93d93
store other immutable tables in unicode_tables
...
- This is mainly for consistency with other tables.
2013-10-13 22:54:16 +02:00
Martin Nowak
45c873faf3
make case tables immutable
...
- Avoids redundant object copies and semantic
analysis for every usage.
- Multilib archives or gc-sections will take care
of the binary size issue.
2013-10-13 20:50:40 +02:00
Dmitry Olshansky
6ccde64322
reduce redundnant imports
2013-10-13 16:45:23 +04:00
Dmitry Olshansky
5ce8a6d538
tweak unicode_tables.d and related code to avoid CTFE in generated tables
2013-10-13 12:28:34 +04:00
monarch dodra
d9073b3a23
Merge pull request #1594 from blackwhale/fix-icmp
...
Fix regression in icmp
2013-09-26 07:27:17 -07:00
Dmitry Olshansky
9df179b65d
fix issue 11057 [REG2.064dev] New std.uni has icmp() partly broken
2013-09-22 12:00:04 +04:00
Dmitry Olshansky
256b62b370
fix issue 11089 toUpper doesn't work with 1:m mappings
...
Also fixes a typo in generic toCase, adds test cases for
previously fixed issue 9629
2013-09-22 11:52:27 +04:00
monarch dodra
4721a44fb3
Merge pull request #1554 from 9rnsr/fix6178
...
Supplement fix fox issue 6178
2013-09-14 13:52:05 -07:00