Mercurial > minori
annotate dep/anitomy/dep/srell/history_ja.txt @ 399:a0bc3ae5164a
anime_list: actually obey "highlight anime if they are available"
| author | Paper <paper@tflc.us> |
|---|---|
| date | Fri, 07 Nov 2025 15:28:22 -0500 |
| parents | a0aa8c8c4307 |
| children |
| rev | line source |
|---|---|
|
347
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
1 20240613; version 4.046: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
2 ・コードの減量。リテラルが連続する箇所を最優先に探す仕組みを削除。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
3 ・その他細々とした改良や修正など。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
4 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
5 20240608; version 4.045: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
6 ・Modifiersを実装。ただし提案がECMAScript仕様書に織り込まれるまでは、 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
7 #define SRELL_ENABLE_MODIFIERS定義時のみ利用可能。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
8 ・4.043でduplicate named capturing groups対応のための変更を加えた際、 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
9 後方参照の番号が括弧の最大番号を超えていないかのチェックが抜けてしま |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
10 っていたので追加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
11 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
12 20240602; version 4.044: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
13 ・SRELL_NO_NAMEDCAPTURE用の#if~#endifが抜けていたので追加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
14 ・古いほうのstate挿入函数を引退させ、新しいほうに一本化。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
15 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
16 20240526; version 4.043: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
17 ・Duplicate named capturing groups(|で区切られた位置なら既出のグルー |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
18 プ名を重複して使える機能)を実装。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
19 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
20 20240524; version 4.042: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
21 ・*, +用の最適化処理が、C{n,}(Cは文字かクラス、nは2以上)にも適用され |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
22 うるように拡張。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
23 ・次の条件を満たす場合に用いられる統合スタックを導入。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
24 1) アルゴリズム函数に渡されたiteratorがポインタであること、または、 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
25 2) コンパイラがstd::is_trivially_copyableに対応していて、かつ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
26 渡されたiteratorの型Iに対する |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
27 std::is_trivially_copyable<I>::valueがtrueであること。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
28 どちらの条件も満たさない時は従来の個別スタックが使われます。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
29 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
30 20240519; version 4.041: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
31 ・4.040で行った仮修正の仕上げ。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
32 ・使用していない函数の削除。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
33 ・64GBを超えるメモリ割り当てが可能な環境において理論上起こり得る問題に |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
34 対処。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
35 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
36 20240131; version 4.040: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
37 ・もう1行復元。?? (non-greedy {0,1})が最適化バグを引き起こすことがあっ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
38 たため。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
39 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
40 20240127; version 4.039: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
41 ・Version 4.037で誤って削除してしまったコードを復元。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
42 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
43 20240124; version 4.038: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
44 ・/(?:ab)+|cd/が"ababcd"にマッチしてしまうバグを修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
45 発生条件:|の左右が異なる文字で始まり、かつ左方が(?:)+の中に入ってい |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
46 る。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
47 ・その他改良など。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
48 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
49 20240122; version 4.037: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
50 ・Version 4.021以降最適化のバグにより、/(?:a|ab|abc)$/が"ac"にマッチす |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
51 るようになっていた問題を修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
52 発生条件:(?:A|B|C) のような表現でAがBの前部と一致し、BがCの前部と一 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
53 致している場合。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
54 →誤った最適化によりAの終端からCの後部に至るパスが発生してしまう。こ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
55 のパスは普段は隠れているものの、バックトラッキングが発生すると使わ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
56 れてしまう。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
57 ・その他、細々とした修正や改良など。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
58 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
59 20240114; version 4.036: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
60 ・Lookaround (lookaheadとlookbehind)の改良とバグ修正: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
61 1. 不要なスタック処理を削除。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
62 2. "abc"に対する/(?:(?=(\w))|b)c$/の1番括弧が"b"ではなく未定義になる |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
63 ように、version 3.003で廃止したstateを復活。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
64 発生条件:1: Lookaroundが捕獲括弧を含んでいて、2: そのlookaround |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
65 が成功した後、後続のマッチに失敗し、3: '|'で区切られた別の |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
66 subpatternを試し、正規表現全体のマッチが成功する。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
67 →Lookaround内で捕獲された文字列がundefinedに戻らず残ってしまって |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
68 いた。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
69 ・misc/sample01.cppをconftest.cppに置き換え。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
70 ・各epsilonにタグ付け。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
71 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
72 20231229; version 4.035: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
73 ・文字クラスのcase foldingを改良(Icase時の\p{Any}のコンパイル速度の改 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
74 善)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
75 ・(?i:)対応の下準備。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
76 ・updataout3.cppを更新。前版で内部のnamespaceを変更した影響でコンパイ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
77 ルできなくなっていました。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
78 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
79 20231209; version 4.034: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
80 ・アルゴリズム函数に渡されたiteratorがcontiguous_iteratorかどうかを調 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
81 べる時、std::contiguous_iteratorが使えるならそれを使うように。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
82 ・正規表現中に存在しないグループ名が、match_results型のoperator[]()メ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
83 ンバ函数に引数として渡された場合、error_backrefをthrowするのをやめ、 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
84 「何にもマッチしていない」ことを表すsub_match型インスタンスへの参照 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
85 を返すように変更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
86 この変更に併せて、match_results::operator[](size_type n)が |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
87 n >= size()の時も同様の参照を返すように変更(std::regex準拠の挙動。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
88 従来はSRELL_STRICT_IMPLが定義されていた時のみ準拠)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
89 ・例外をthrowしないモードを実装。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
90 ・例外を投げないモード用に、直前のコンパイル時にthrowされるはずであっ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
91 たerror_typeを返す basic_regex::ecode() を追加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
92 ・例外を投げないモード用に、直前の検索時にthrowされるはずであった |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
93 error_typeを返す match_results::ecode() を追加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
94 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
95 20230926; version 4.033: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
96 ・Version 4.020以降、64ビット環境でアクセス違反を起こすことがあった問 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
97 題を修正(報告してくださったYuriy Skvortsov氏に感謝します)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
98 発生条件:/ab|ac|ad/のように、3つ以上のAlternativesが同じ文字から始 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
99 まる。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
100 ・utf_traits中の使用されていないメンバ函数を削除。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
101 ・その他コードの整理など。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
102 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
103 20230916; version 4.032: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
104 ・UTF-8/UTF-16のデコーダが常にinline展開されるようdirectiveを追加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
105 ・オートマトンの呼び出し部を整理。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
106 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
107 20230913; version 4.031: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
108 ・ucfdata2.h, updata3.hをUnicode 15.1.0対応に更新。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
109 ・updataout3.cppを更新。Unicode property escapeのScriptまたは |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
110 Script_Extensionsで指定できる値に"Unknown"を追加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
111 この値はScripts.txt内で言及されているものの、ECMAScript仕様書の「対 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
112 応すべきscript名一覧」になかったのでこれまで対応していませんでした。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
113 しかし仕様書から一覧表が削除され、除外する理由がなくなったのでV8に倣 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
114 ってSRELLも対応することにしました。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
115 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
116 20230909; version 4.030: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
117 ・^ $ \b \Bだけのrewinderが作られることのないようにパターンコンパイラ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
118 を変更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
119 ・Unicode propertyの名前や値の照合を二分探索で行うように。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
120 ・上記変更に併せてunicode/updataout2.cppを更新し、updataout3.cppに。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
121 また、ECMAScript仕様書が対応すべきscript名を一覧表で示すことをやめた |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
122 ため、Scripts.txtとPropertyValueAliases.txtとから読み取るように。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
123 ・Unicodeデータファイルの拡張子を*.hppから*.hに変更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
124 ・unicode/ucfdataout2.cppを更新。上記の拡張子変更に対応。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
125 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
126 20230903; version 4.029: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
127 ・unicode/updataout2.cppを更新。SRELL内部で使う型を4.023で統合したせい |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
128 でコンパイルが通らなくなっていた問題を修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
129 ・srell_updata2.hppを作り直し(Unicode 15で新規追加された2つのスクリプ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
130 トのデータが入っていなかったため。どうも古いupdataout2.cppで出力した |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
131 ものだったようです)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
132 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
133 20230831; version 4.028: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
134 ・regex型またはwregex型が使われる時、単体のchar/wchar_tで表現できない |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
135 Unicode値についてはオートマトンを呼び出さないように改良。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
136 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
137 20230821; version 4.027: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
138 ・"2023-8-21"に対して/(?:(\d+-)?)+(\d{1,2})-(\d{1,2})/で検索した時に、 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
139 1番括弧が何もキャプチャしないバグを修正(相当前からあったバグ)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
140 ・同じ条件で全体のマッチが "23-8-21" だけになるバグを修正(4.019で混入 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
141 したバグで、4.026の修正でもカヴァーできていなかったもの)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
142 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
143 20230820; version 4.026: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
144 ・Version 4.019以降、"2023-8-20"に対して/(\d+-)?\d{1,2}-\d{1,2}/で検索 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
145 すると"23-8-20"にマッチしてしまうようになっていたバグを修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
146 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
147 20230819; version 4.025: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
148 ・movzxを避けるため内部表現中のフラグ管理をbool型から整数型に変更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
149 ・オートマトン中でよく使う構造体のメンバ変数名を短いものに置換。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
150 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
151 20230817; version 4.024: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
152 ・4.019以降出番のなくなっていた最適化処理用コードをコメントアウト。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
153 ・細々とした改良と問題の修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
154 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
155 20230804; version 4.023: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
156 ・内部で使う2種類の整数型を1種類に統合。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
157 ・4.019で導入したentry state selectorにより効果が限定的となった最適化 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
158 処理を簡略に。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
159 ・Entry state selectorの改良。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
160 ・変数名の修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
161 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
162 20230730; version 4.022: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
163 ・ソースコードの整理と細々とした問題の修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
164 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
165 20230727; version 4.021: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
166 ・新たな内部状態を挿入すること無しに分岐の最適化が行えるよう改良。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
167 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
168 20230724; version 4.020: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
169 ・Properties of stringsの内部表現への変換方法を簡略化。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
170 ・その他細々とした改良。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
171 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
172 ・[4.000~4.019, vフラグモード] 手元のソースファイルからリリース用ファイ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
173 ルを作るための設定にミスがあり、version 4.000~4.019ではvモードが正し |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
174 く実装されていませんでした。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
175 optimise_pos()函数の最後に次の行を書き足すとこれらの版でも正常に動作し |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
176 ます。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
177 insert_btbranch(piece, ins_bt); |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
178 この函数がどこからも呼ばれていなかったのがバグの原因です。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
179 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
180 20230114; version 4.019: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
181 ・新しいentry state selectorを実装。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
182 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
183 20230109; version 4.018: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
184 ・4.016のオートマトン統合をキャンセル。パターンコンパイラ側に変更を加 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
185 え始めるとicase検索が著しく速度低下したため。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
186 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
187 20230107; version 4.017: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
188 ・Version 4.006以降、bidirectional iteratorで検索しようとするとコンパ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
189 イルエラーが発生するようになっていた問題を修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
190 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
191 20230106; version 4.016/3.018(*のみ): |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
192 ・4つのオートマタを2つに統合(i-modifier対応の下準備)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
193 */a{0,0}/がエラー扱いになっていた問題を修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
194 *その他細かい修正など。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
195 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
196 20221227; version 4.015: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
197 ・VCで_ITERATOR_DEBUG_LEVELを1以上にすると、エラー扱いされる |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
198 regex_iterator2中のコードを修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
199 ・その他改良など。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
200 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
201 20221220; version 4.014: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
202 ・誤って前版で抜けていたmatch_resultsのメンバ函数を補充。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
203 ・regex_token_iteratorの簡素化。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
204 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
205 20221220; version 4.013: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
206 ・"abc"を/$/でsplit()すると、{"abc"}となるべきところが{"abc", ""}にな |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
207 ってしまっていた問題を修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
208 ・replace()のoverload函数の数を減らし、ラムダ使用時は常にコールバック |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
209 函数で受け取りたいmatch_resultsの型をテンプレート実引数で明示するよ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
210 うに。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
211 ・regex_iterator2を追加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
212 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
213 20221216; version 4.012: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
214 ・コンパイラによってreplace()のコンパイルに失敗する問題を修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
215 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
216 20221214; version 4.011/3.017(*のみ): |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
217 *[LWG Issue 3204] sub_matchにswap()を追加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
218 ・replace()の仕様変更。std::basic_string風のコンテナ型なら何でも置換で |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
219 きるように。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
220 ・srell::str_clipを追加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
221 ・split()にイテレータ、ポインタに対応するoverloadを追加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
222 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
223 20221212; version 4.010: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
224 ・split()の実装が説明文と合うように修正。文ではsub_matchがリストコンテ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
225 ナにpushされるとなっているのに対して、コードではbasic_stringがpushさ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
226 れていました。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
227 ・sub_matchクラスのbasic_stringへの変換函数(キャスト及びstr())に、カ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
228 スタムtraits/allocator対応版を追加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
229 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
230 20221210; version 4.009/3.016(*のみ): |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
231 *regex_iteratorのiterator (it) が0幅にマッチすると、次に++した時に |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
232 it->prefix().matchedがtrueにならなかった問題を修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
233 *match_resultsのテンプレート引数にカスタムallocatorを渡すとコンパイル |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
234 できなかった問題を修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
235 ・basic_regexに新しいメンバ函数(拡張API)を追加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
236 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
237 20221130; version 4.008: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
238 ・4.006で導入したfinderよりもBMHの優先度が上になるよう調整。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
239 ・\b/\Bおよびmultilineモードにおける^, $の改良。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
240 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
241 20221124; version 4.007: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
242 ・正規表現の最初でのみ使える埋込フラグ (?ims-ims) に対応(Python 3.11 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
243 と同様)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
244 註:この機能は独自拡張で、ECMAScriptの仕様にはありません。また |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
245 regexp-modifiers提案とも異なっています。この機能はSRELL_NO_UBMODを定 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
246 義することにより、無効にできます。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
247 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
248 20221123; version 4.006: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
249 ・最初にマッチする文字が一種類である正規表現用のfinderを追加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
250 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
251 20221030; version 4.005/3.015(*のみ): |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
252 *int型とlong型とでビット幅が異なる環境(LP64, 4/8/8等)で未定義動作と |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
253 なるコードを修正(報告してくださったTravers Ching氏に感謝します)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
254 ・unicode/ucfdataout2.cpp, updataout2.cppを更新。Unicodeデータファイル |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
255 (srell_ucfdata2.hpp, srell_updata2.hpp) なしでもコンパイルできるよう |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
256 に。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
257 ・その他コードの整理など。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
258 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
259 20221022; version 4.004/3.014: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
260 ・srell_ucfdata2.hppとsrell_updata2.hppとをUnicode 15.0.0対応に更新。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
261 ・unicode/updataout2.cppをUnicode 15対応に更新(ECMAScript 2023で対応 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
262 される見込みのスクリプト名の先行対応)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
263 ・先の後方参照バグを直した結果、無意味になったコードを削除。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
264 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
265 20221012; version 4.003/3.013: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
266 ・後方参照バグを再々修正。ちなみにこのバグは可変幅の戻り読みに対応した |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
267 ことに付随するものであるため、version 2.000以降のSRELL全版に存在しま |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
268 す。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
269 (可変幅の戻り読みでは/(?<=\1\s+(\d+))/のように、パーザが捕獲括弧よ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
270 りも先に後方参照に出合ってしまうことがあるため、対応する括弧がその正 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
271 規表現中に実在するのかすぐに判断できないことに由来しています) |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
272 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
273 20221012; version 4.002/3.012: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
274 ・前版の後方参照バグを違う方法で再修正。20221011の修正では/(?:\1+)*()/ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
275 のような表現に対応できていなかったため。同時に/()(?:\1+)*/のような表 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
276 現が無限ループに陥るのも修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
277 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
278 20221011; version 4.001/3.011(*のみ): |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
279 */\1*()/や/(\1+)/のように、対応する捕獲括弧の閉じ括弧よりも先に出現す |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
280 る後方参照に*または+が付いているとnullポインタを参照してしまう、もし |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
281 くは無限ループに陥るバグを修正(バグを見つけてくださったsrellcomの作 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
282 者、@datadiode氏に感謝します)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
283 ・ECMAScriptの仕様に従い、[]内で'-'をエスケープせず書ける位置のチェッ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
284 クを厳密に行うよう変更。定義済み文字クラス(\d, \s等)直後の'-'は、 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
285 それが文字クラス最後の文字でない限りはエラーに([\s-\d]はエラー、 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
286 [\s-]はOK)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
287 ・UTF-8用内部iteratorの調整。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
288 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
289 20220618; version 4.000: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
290 ・ECMAScriptに追加される見込みのvフラグモードに対応。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
291 ・srell_updata.hppの仕様変更。srell_updata2.hppに。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
292 ・上記変更に併せてunicode/updataout.cppを更新し、updataout2.cppに。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
293 ・64ビット環境でclang-tidyが "excessive padding" と警告する問題に対応 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
294 するため構造体メンバの順番を変更(ご報告に感謝します)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
295 ・unicode/ucfdataout2.cppを更新。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
296 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
297 20220529; version 3.010: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
298 ・\pや\Pを含む文字クラスのメモリ使用量を削減。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
299 ・\pや\Pの{}内が不正の時にthrowされるエラーの種類を、 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
300 regex_constants::error_escapeから新設の |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
301 regex_constants::error_propertyに変更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
302 ・その他細々とした改良。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
303 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
304 20220511; version 3.009: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
305 ・最適化バグにより /abcd|ab/ が "abc" にマッチしなかった問題を修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
306 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
307 20220504; version 3.008: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
308 ・icase指定時の[^\P{...}]の振る舞いが、TC39で提案中のv-modeのそれに近 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
309 いものになっていた問題を修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
310 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
311 20220429; version 3.007: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
312 ・カウンタの仕組みをさらに変更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
313 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
314 20220428; version 3.006: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
315 ・繰り返し処理用のカウンタを調整。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
316 ・小さな文字クラス用の線形探索を再削除。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
317 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
318 20220424; version 3.005: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
319 ・multiline指定時に /(?<=$.*)/ が "a" の終わりにマッチしなかった問題を |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
320 修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
321 ・TC39で提案中の\A, \z, (?m:)の準備。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
322 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
323 20220420; version 3.004: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
324 ・'*' または '+' 付きの文字クラスが後続する文字または文字クラスと排他 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
325 的になっていない表現用の最適化処理を追加。例:/[A-Za-z]+ing/, |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
326 /".*"/ など。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
327 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
328 20220416; version 3.003: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
329 ・2つの最適化函数を1つに統合。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
330 ・先読み (lookahead)・戻り読み (lookbehind) 用のコード量を削減。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
331 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
332 20220416; version 3.002: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
333 ・3.000で導入した簡易entry state選択の使用時に、regex_matchや |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
334 match_continuousフラグが指定されたregex_searchが機能しない場合があっ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
335 た問題を修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
336 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
337 20211025; version 3.001: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
338 ・カウンタ分割を廃止。効果がないかむしろ若干速度が低下しているように見 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
339 えるため。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
340 ・潜在的なバグを修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
341 ・その他細かな改良など。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
342 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
343 20211023; version 3.000: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
344 ・srell_ucfdata2.hppとsrell_updata.hppとをUnicode 14.0.0対応に更新。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
345 ・unicode/updataout.cppをUnicode 14対応に更新(ECMAScript 2022で対応さ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
346 れる見込みのスクリプト名の先行対応)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
347 ・char32_t未対応のコンパイラでUnicode値を保持するため内部で使用する型 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
348 を「21ビット以上あるunsigned整数型」から「32ビット以上あるunsigned整 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
349 数型」に変更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
350 ・char32_t未対応のコンパイラで繰り返し回数や文字クラス番号を保持するの |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
351 に使う型を「unsigned int」から「32ビット以上あるunsigned整数型」に変 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
352 更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
353 ・数値用パーザにoverflowチェックを追加。例:unsigned int型が32ビットの |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
354 幅の時、前の版まで /a{0,4294967297}/ は /a{0,1}/ 相当になってしまっ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
355 ていましたが、前記のチェックを入れたことによりこのような場合には |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
356 error_braceがthrowされるようになっています。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
357 ・非multilineモード時に /[^;]*^;?/ が入力文字列の先頭にマッチしなかっ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
358 たバグを修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
359 ・ごく簡易なentry state選択を実装。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
360 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
361 20211004; version 2.930: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
362 ・WCHAR_MAXの値に基づいてUTF-16/UTF-32対応が切り替わるu1632w-型を新規 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
363 に追加(WCHAR_MAXが0xFFFF以上・0x10FFFF未満ならu1632w-型はu16w-型の |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
364 別名となり、WCHAR_MAXが0x10FFFF以上ならu1632w-型はu32w-型の別名とな |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
365 ります)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
366 ・Eytzinger layout検索時に使われるメモリ使用量を削減。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
367 ・その他細かな改良など(いくつかはNIREに対するMarko Njezic氏の改善案に |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
368 基づきます)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
369 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
370 20210624; version 2.920: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
371 ・?({0,1}相当)用の最適化処理を追加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
372 ・misc/sample01.cpp内で参照しているECMAScript仕様書の版を2021に変更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
373 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
374 20210429; version 2.912: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
375 ・2.900で導入した最適化処理のバグにより /aa|a|aa/ が "a" にマッチしな |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
376 くなっていた問題を修正(報告してくださったJan Schrötter氏に感謝しま |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
377 す)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
378 ちなみにこの最適化処理は、srell.hppをincludeする前に |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
379 SRELLDBG_NO_BRANCH_OPT2マクロを定義しておくと無効化できます。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
380 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
381 20210424; version 2.911: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
382 ・2.900で導入した最適化処理内の不用意な行削除が原因で、/abc|ab|ac/ が |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
383 "ac" に対してマッチしなくなっていた問題を修正(バグ報告に感謝します)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
384 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
385 20210407; version 2.910: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
386 ・2.900以降、パターンコンパイラ内部でmove代入演算子が使われる時にメモ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
387 リリークしていた問題を修正(報告してくださったMichal Švec氏に感謝し |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
388 ます)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
389 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
390 20210214; version 2.901: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
391 ・不要なテンプレートの特殊化を削除。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
392 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
393 20210214; version 2.900: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
394 ・文字列のみからなる選択(例:/abc|abd|acde/)用の最適化処理を新規に追 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
395 加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
396 ・u(8|16)[cs]regex_(token_)?iteratorがコンパイルエラーとなり使用できな |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
397 かった問題を修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
398 ・その他細かな改良など。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
399 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
400 20210131; version 2.810: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
401 ・UTF-8用内部iteratorの改良。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
402 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
403 20200724; version 2.800: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
404 ・文字クラスの二分探索にEytzinger layoutを導入。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
405 ・小さな文字クラス用に線形探索を再実装。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
406 ・名前付き括弧の名前部分をパーズするためのプロパティーデータの扱いを変 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
407 更。basic_regex型インスタンス内に読み込むのを止めて、必要な時のみ読 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
408 み込むように。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
409 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
410 20200714; version 2.730: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
411 ・入れ子になった捕獲括弧で冗長な退避・復元処理をせぬように変更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
412 ・regex_iteratorの改良。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
413 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
414 20200703; version 2.720: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
415 ・非ASCII文字を含むUTF-8文字列または非BMPの文字を含むUTF-16文字列を、 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
416 Boyer-Moore-Horspoolアルゴリズムを用いて、大文字小文字の区別無しで |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
417 (icase/case-insensitiveで) 検索する場合の処理の改良。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
418 ・Version 2.650での変更により、regex_iterator->prefix().firstが前回マ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
419 ッチした位置の終端ではなく文字列全体の最初を指すようにになってしまっ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
420 ていたのを修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
421 ・上記修正に合わせて3イテレータ版のregex_search()が呼ばれる場合、 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
422 match_results.position()は戻り読みの逆行限界として渡された位置 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
423 (regex_searchの第3引数)を起点とした位置を返し、 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
424 match_results.prefix().firstは検索開始位置(同第1引数)を指すように |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
425 変更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
426 ・BMH検索時に、不正なUTF-8シークウェンスの前後にある有効なシークウェン |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
427 スが読み飛ばされてしまう問題を修正(2.630でUTF-8の処理方法を変えた時 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
428 に混入したバグ)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
429 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
430 20200701; version 2.710: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
431 ・Boyer-Moore-Horspool検索の調整。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
432 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
433 20200630; version 2.700: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
434 ・最適化処理の調整。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
435 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
436 20200620; version 2.651: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
437 ・グループ名のチェックを行う位置を\uエスケープの解釈後に移動。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
438 ・misc/sample01.cppをversion 1.103に更新。参照しているECMAScript仕様書 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
439 の版を2020(ES11)に変更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
440 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
441 20200618; version 2.650: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
442 ・名前付き括弧に捕獲された文字列へのアクセス用函数に、グループ名をポイ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
443 ンタで指定するoverloadをmatch_resultsに追加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
444 ・3イテレータ版のregex_search()使用時には、検索の開始位置ではなく戻り |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
445 読み (lookbehind) の逆行限界として渡された位置のほうを |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
446 match_results::prefix::firstにセットするよう変更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
447 ・不要と思われる処理をいくつか削除。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
448 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
449 20200601; version 2.643: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
450 ・syntax_option_typeおよびmatch_flag_typeのoperator函数にinline指定を |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
451 追加(これがないとリンク時に多重定義エラーが出ることがあるとのご指摘 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
452 がありました)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
453 ・その他細かな改良など。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
454 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
455 20200530; version 2.642: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
456 ・basic_regex型インスタンスが確保するメモリのサイズを削減。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
457 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
458 20200528; version 2.641: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
459 ・2.640での修正1が不完全であったため再修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
460 ・最適化処理の調整。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
461 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
462 20200516; version 2.640: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
463 ・最適化バグの修正1: regex_matchが入力文字列の終端を通り過ぎてしまうこ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
464 とがあった問題を修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
465 ・最適化バグの修正2: multilineフラグ指定時に ^ や $ が適切な位置でのマ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
466 ッチングをさせてもらえなくなってしまっていた問題を修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
467 ・srell_ucfdata2.hppとsrell_updata.hppとを更新。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
468 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
469 20200509; version 2.630: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
470 ・正規表現中に不正なUTF-8のシークウェンスがあった場合、パターンコンパ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
471 イラがregex_utf8をthrowするように仕様変更(検索対象文字列中に不正な |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
472 UTF-8の並びがあってもエラー扱いされません)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
473 ・UTF-8でBMH検索が行われる際、マッチした箇所の直後に余分な後続 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
474 (trailing) バイトが続いていた場合にその部分もマッチング結果に含めて |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
475 しまう問題を修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
476 ・basic_regex.flags() が正しい値を返さないことがあったのを修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
477 ・正規表現中で実際には使われていないグループ名 (NAME) を |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
478 match_results.format()に渡す書式文字列の中で$<NAME>のようにして指定 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
479 すると、その部分が空文字に置換されずそのまま残ってしまう問題を修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
480 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
481 20200502; version 2.620: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
482 ・Boyer-Moore-Horspoolアルゴリズム用クラスからmatch_continuous指定時用 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
483 およびregex_match用の函数を削除。これらの処理時は以前のようにオート |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
484 マトンを使うように変更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
485 ・その他クリーンナップ。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
486 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
487 20200428; version 2.611: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
488 ・/\d*/ が "abc" の冒頭にマッチせず末尾にマッチする問題を修正(Version |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
489 2.210で混入したバグ)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
490 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
491 20200426; version 2.610: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
492 ・Case-insensitive (icase) なBMH検索が行われる際、探している文字列が検 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
493 索対象テキスト全体の先頭にあった場合に読み飛ばされてしまうことがある |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
494 バグを修正(UTF-8またはUTF-16で、検索文字列の末尾が複数のコードユニ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
495 ットからなる文字である場合に発生)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
496 ・キャプチャグループ名のパーズをECMAScriptの仕様書通りきっちり行うよう |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
497 に変更。これにより、前の版までは受理されていた /(?<,>...)/ のような |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
498 グループ名はregex_errorがthrowされるように。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
499 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
500 20200418; version 2.600: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
501 ・戻り読み (lookbehind) の逆行限界を直接regex_search()に渡せるように |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
502 3イテレータ版のregex_search()を追加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
503 ・[非互換変更] 2.300で導入したmatch_flag_typeのmatch_lblim_availフラグ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
504 と、match_resultsのlookbehind_limitメンバとを廃止。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
505 ・srell_ucfdata2.hppとsrell_updata.hppとをUnicode 13.0.0対応に更新。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
506 ・unicode/updataout.cppをUnicode 13対応に更新(ECMAScript 2020で対応さ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
507 れる見込みのスクリプト名の先行対応)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
508 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
509 20191118; version 2.500: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
510 ・初めてbasic_regex型インスタンスが作られた時にcase foldingデータから |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
511 icaseマッチング用テーブルを展開するのに代えて、最初から計算済みテー |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
512 ブルを保持しているように仕様変更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
513 ・上記変更に併せてsrell_ucfdata.hppおよびそれを出力するucfdataout.cpp |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
514 はお役御免とし、代わりに展開済みicase用テーブルを保持する |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
515 srell_ucfdata2.hppとそれを出力するucfdataout2.cppとを追加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
516 ・文字クラスの照合方法を線形探索から二分探索に変更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
517 ・文字クラスの最適化処理のタイミングを「']' が見つかった時にまとめて一 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
518 括」から「文字または文字コードの範囲をpushするたびごと逐次」に変更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
519 ・assertをすべて削除。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
520 ・連続する\uHHHHがサロゲートペアをなしている場合はUnicode値として解釈 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
521 するように変更(これによりECMAScript仕様との相違はなくなりました)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
522 ・SRELL_NO_NAMEDCAPTUREマクロ使用時にコンパイルエラーが出ていたのを修 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
523 正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
524 ・updataout.cppを1.101にヴァージョンアップ。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
525 ・単体版のsrellを追加(single-headerディレクトリ内)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
526 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
527 20190914; version 2.401: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
528 ・basic_regex型インスタンスのサイズを削減(Unicode property escapes対 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
529 応時にうっかり膨張させてしまっていました)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
530 ・basic_regex::swap()の改良。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
531 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
532 20190907; version 2.400: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
533 ・文字クラスの照合速度を改善。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
534 ・パターンコンパイル時にグループ名中の\uエスケープを解釈するように変更 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
535 (ECMAScriptの仕様に準拠)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
536 ・ucfdataout.cppを1.200にヴァージョンアップ。このプログラムが出力する |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
537 srell_ucfdata.hpp中のunicode_casefoldingクラスに、新たにメンバ変数が |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
538 追加されました。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
539 SRELL 2.400以降はこの追加されたメンバ変数をコンパイル時に必要とする |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
540 ため、ucfdataout.cpp 1.101以前によって出力されたsrell_ucfdata.hppを |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
541 SRELL 2.400以降で使うことはできません(古いSRELLで新しい |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
542 srell_ucfdata.hppを使うことは可)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
543 ・その他コードの整理や改良など。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
544 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
545 20190902; version 2.304: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
546 ・Version 2.303のコード整理で壊れてしまっていたregex_iteratorを修復。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
547 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
548 20190810; version 2.303: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
549 ・2.302の修正が不完全であったため再修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
550 ・その他コードの整理。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
551 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
552 20190809; version 2.302: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
553 ・(?...) に繰り返し指定がついている時、内側の括弧によって捕獲された文 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
554 字列がループごとにクリアされず持ち越されていたバグを修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
555 例:/(?:(ab)|(cd))+/.exec("abcd") → 1番括弧はundefinedになるはずが |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
556 "ab"になってしまっていた。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
557 ・misc/sample01.cppをversion 1.102に更新。テスト名中の章番号を |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
558 ECMAScript 2019 (ES10) 準拠に変更 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
559 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
560 20190724; version 2.301: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
561 ・ECMAScriptの仕様に準じて、\でエスケープ可能な文字の種類を次の15字に |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
562 限定。^$\.*+?()[]{}|/ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
563 文字クラス内([]内)ではこの15字に加えて '-' も対象に。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
564 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
565 20190717; version 2.300: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
566 ・検索対象範囲とは別に、戻り読み (lookbehind) の逆行限界を指定できる機 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
567 能を追加(match_flag_typeへのmatch_lblim_availフラグの追加と |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
568 match_resultsへのlookbehind_limitメンバの追加)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
569 これに併せてregex_iteratorのコンストラクタ内でも、内部で使うprivate |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
570 なmatch_results型インスタンスのlookbehind_limitメンバに値を設定する |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
571 ように変更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
572 ・ECMAScriptの仕様に合わせて、後方参照が対応する捕獲括弧より先に出現し |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
573 てもエラー扱いせぬように変更。/\1(.)/, /(?<=(.)\1)/, /\k<a>(?<a>.)/ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
574 などすべてOKに。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
575 ・misc/sample01.cppをversion 1.101に更新。misc.jsより準拠テストを1つ追 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
576 加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
577 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
578 20190714; version 2.230: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
579 ・正規表現が '*' か '+' かを伴う文字または文字クラスで始まる場合の検索 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
580 速度を改善(例:/[A-Za-z]+ing/)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
581 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
582 20190707; version 2.221: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
583 ・std::u8stringの利用可否は__cpp_char8_tではなく__cpp_lib_char8_tを用 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
584 いて判断するように変更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
585 ・icase指定時にcase-folding処理をした結果、文字クラス内の文字がすべて |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
586 同じ文字になった場合には、文字クラスを解消して文字リテラルとして処理 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
587 するように変更。例:/r[Ss\u017F]t/i → /rst/i。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
588 ・その他問題を修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
589 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
590 20190617; version 2.220: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
591 ・カウンタを使わぬほうが内部表現がコンパクトになる繰り返しはカウンタを |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
592 使わぬように変更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
593 ・最適化バグにより、/a{1,2}?b/.exec("aab") が "aab" ではなく "ab" を返 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
594 していたのを修正(発生条件:最短一致優先の回数指定が付いている文字ま |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
595 たは文字クラスの後ろに、その文字集合と排他的な文字または文字クラスが |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
596 続いている場合)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
597 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
598 20190613; version 2.210: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
599 ・/ab|cd|ef/ のような表現('|' で区切られている文字列の先頭文字が互い |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
600 に排他的な場合)の照合方法を改良。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
601 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
602 20190603; version 2.202: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
603 ・BMHアルゴリズムが使われる状況で、regex_matchがregex_search相当の処理 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
604 をしてしまうバグを修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
605 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
606 20190531; version 2.200: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
607 ・通常の(正規表現ではない)テキスト検索用に、Boyer-Moore-Horspoolアル |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
608 ゴリズムに基づく実装を追加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
609 ・UTF-8用iteratorの改良。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
610 ・icase指定時の\b/\Bの挙動を修正。/.\B./i が "s\u017F" にマッチするよ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
611 うに。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
612 ・その他問題を修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
613 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
614 20190508; version 2.100: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
615 ・Lookbehind中に文字列のキャプチャがあり、かつその中および左方に可変長 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
616 の正規表現があった場合、文字列の捕獲に失敗することがあったのを修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
617 例:"1053" =~ /(?<=(\d+)(\d+))$/ で$2に適切な文字列がセットされず。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
618 ・srell_ucfdata.hppとsrell_updata.hppとをUnicode 12.1.0対応に更新。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
619 ・unicode/updataout.cppをUnicode 12対応に更新(ECMAScript 2020で対応さ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
620 れる見込みのスクリプト名の先行対応)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
621 ・srell.hpp中の改行コードをCR+LFからLFに変更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
622 ・unicode/*.cppが出力するファイルの改行コードをCR+LFからLFに変更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
623 ・misc/sample01.cppをversion 1.010に更新。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
624 1. テスト名中の章番号をECMAScript 2018 (ES9) 準拠に変更(前版までは |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
625 ECMAScript 5.1までの章番号準拠でした)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
626 2. ECMAScript 2018規格の2.2.2.3 NOTEから準拠テストを1つ追加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
627 ・C++11の機能の使用可否を判定するマクロを変更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
628 ・文字クラスの処理方法を変更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
629 ・basic_regexの全コンストラクタと全assign函数とでflag_typeのdefault引 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
630 数を指定できるように、syntax_option_typeとmatch_flag_typeとを再実装 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
631 (TR1→C++11間の変更の見落とし)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
632 ・char8_t型に試験対応。コンパイラがchar8_tに対応している場合 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
633 (__cpp_char8_tマクロ定義の有無で判断)、"u8-"というprefixの付いた |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
634 クラスは「char8_t型文字列を受け取り、それをUTF-8として扱う」ように。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
635 char8_tに未対応の場合は従来通り、char型文字列をUTF-8として処理。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
636 ・常に「char型文字列をUTF-8として扱う」クラスとして新規に"u8c-"という |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
637 prefixに付いたクラスを追加。2.002までの"u8-"付きクラス相当。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
638 ・u8cregex; u8ccmatch, u8csmatch; u8ccsub_match, u8cssub_match; |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
639 u8ccregex_iterator, u8csregex_iterator; u8ccregex_token_iterator, |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
640 u8csregex_token_iterator. |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
641 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
642 20180717; version 2.002: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
643 ・ECMAScriptの仕様に合わせて \u{h...} の h... 部分の最大桁数を6から無 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
644 制限に変更(変更前の1~6桁というのは提案書に基づく実装でした)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
645 ・updataout.cppを1.001に更新。新規に追加されたスクリプト名をエラー扱い |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
646 せぬように修整。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
647 ・srell_ucfdata.hppとsrell_updata.hppとをUnicode 11.0.0対応に更新。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
648 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
649 20180204; version 2.001: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
650 ・icase指定時に、[\W](\Wを含む文字class)が [KkSs\u017F\u212A] のいず |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
651 れにもマッチせぬよう変更(関連:ecma262 issue #512)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
652 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
653 20180127; version 2.000: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
654 ・ECMAScript 2018のRegExpに追加されることになった次の機能を実装: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
655 ・'.' があらゆるコードポイントにマッチするようにするための指定 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
656 "dotall" フラグを、srell::regex_constants内の syntax_option_type |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
657 および srell::basic_regex内の flag_type に追加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
658 ・Unicode property用の表現、\p{...} と \P{...} とを追加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
659 ・名前付きキャプチャ (?<NAME>...) と、名前付きキャプチャによって捕獲 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
660 された文字列を後方参照するための正規表現、\k<NAME> とを追加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
661 ・戻り読み (lookbehind) の振る舞いを変更。(?<=...), (?<!...) とも可変 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
662 幅の戻り読みに対応。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
663 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
664 20180125; version 1.401: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
665 ・ECMAScriptの仕様に合わせて、match_results.format()内で後方参照として |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
666 認識される数値を99までに制限(即ち$1~$9および$01~$99のみ有効)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
667 ・長い間メンテナンスしていないマクロを削除。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
668 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
669 20180101; version 1.400: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
670 ・/(?:)*/ のように、空のnon-capturingグループにも量指定子を付けられる |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
671 ように変更(ECMAScriptのRegExpとの互換性確保のための変更で、使い道は |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
672 おそらくありません)。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
673 ・次の3条件が揃った時に固まってしまったのを修正: 1) non-capturingグル |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
674 ープに量指定子が付いていて、2) そのグループ自身が0幅になり得て、3) |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
675 そのグループ内の最後以外の場所に、0幅になり得る後方参照が現れる時。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
676 たとえば /(.*)(?:\1.*)*/ のような表現。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
677 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
678 20171216; version 1.300: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
679 ・最適化処理のバグにより、/^(;[^;]*)*$/ が ";;;;" にマッチしなかった問 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
680 題を修正。この問題の発生条件は次の通り: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
681 ・/(A...B*)*$/ のような終わり方をしていて、かつAとBとが互いに排他的 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
682 な文字または文字集合である場合。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
683 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
684 20170621; version 1.200: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
685 ・srell_ucfdata.hppをUnicode 10.0.0対応に。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
686 ・不正なUTF-8 sequenceに対するu8regex_traitsの振る舞いを改善。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
687 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
688 20150618; version 1.141: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
689 srell_ucfdata.hppをUnicode 8.0.0対応に。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
690 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
691 20150517; version 1.140: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
692 ・regex_match()がマッチの成否を判定する方法の変更。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
693 (C++ Standard Library Issues List #2273 への対応) |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
694 ・ECMAScriptの仕様に合わせて \cX の X の範囲を [A-Za-z] に制限。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
695 ・look-around assertions中の丸括弧が、ある条件下で正しく文字列をキャプ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
696 チャせぬ場合があった問題を修正。Version 1.111での修正が不完全であっ |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
697 たことによるもの。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
698 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
699 20150503; version 1.130: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
700 ・case-folding用函数の改善。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
701 ・unicode/ucfdataout.cppをversion 1.100に。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
702 ・u(16|32)[cs]match用の#if directives中にあったtypoを修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
703 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
704 20150425; version 1.120: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
705 ・UTF-8文字列においてU+010000-U+10FFFFの範囲の文字(4オクテット長の文 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
706 字)が認識されぬバグを修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
707 ・misc/sample01.cppをversion 1.010に。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
708 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
709 20150402; version 1.111: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
710 ・最適化処理のバグにより、"aaa" =~ /((.*)*)/ の $2 が "aaa" ではなく空 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
711 になってしまう問題を修正。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
712 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
713 20141101; version 1.110: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
714 ・バグ報告による修正: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
715 1. basic_regex::assign() 内の compile() に "this->" を追加。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
716 2. operator=() 函数を明示的に実装。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
717 ・unicode/ucfdataout.cppをversion 1.001 に。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
718 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
719 20140622; version 1.101: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
720 srell_ucfdata.hppをUnicode 7.0.0対応に。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
721 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
722 20121118; version 1.100: |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
723 最初のリリース版。 |
|
a0aa8c8c4307
dep/anitomy: port to use UCS-4 rather than wide strings
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
724 |
