annotate regexParser/TODO @ 298:63213964502a

refactoring ....
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 03 Feb 2016 12:24:34 +0900
parents 28c695dac305
children 27414e6fb33c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
298
63213964502a refactoring ....
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
1 Wed Feb 3 08:20:06 JST 2016
63213964502a refactoring ....
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
2
63213964502a refactoring ....
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
3 state : 1 [w-w] (4)
63213964502a refactoring ....
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
4 state : 4 [o-o] (8)
63213964502a refactoring ....
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
5 state : 8 [r-r] (10)
63213964502a refactoring ....
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
6 node : a 10 -> 2 [d-d] (2)
63213964502a refactoring ....
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
7
63213964502a refactoring ....
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
8 w | o r d
63213964502a refactoring ....
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
9 4 8 10 2
63213964502a refactoring ....
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
10
63213964502a refactoring ....
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
11 x | w o r d
63213964502a refactoring ....
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
12 1 4 8 10 2
63213964502a refactoring ....
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
13
63213964502a refactoring ....
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
14 Tue Feb 2 11:21:14 JST 2016 kono
295
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 293
diff changeset
15
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 293
diff changeset
16 あとは word の処理だけだ
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 293
diff changeset
17 charClassMergeをなおさないといけない
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 293
diff changeset
18 merge で文字列のlistにする
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 293
diff changeset
19 長いものは分割
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 293
diff changeset
20 部分文字列は分解する?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 293
diff changeset
21
296
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 295
diff changeset
22 Cerirum 側で、最初のmatchが表示されてない
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 295
diff changeset
23
298
63213964502a refactoring ....
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
24 Tue Feb 2 09:55:40 JST 2016 kono
293
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
25
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
26 % ./regexParser -subst -regex '(a|b)*a(a|b)(a|b)'
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
27 ---Print Node----
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
28 a(1)->(1)
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
29 |
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
30 b(1)->(1)
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
31 *
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
32 +
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
33 a(4)->(4)
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
34 +
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
35 a(4)->(8)
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
36 |
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
37 b(4)->(8)
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
38 +
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
39 a(8)->(2)
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
40 |
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
41 b(8)->(2)
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
42 -----------------
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
43 state : 1
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
44 node : + 1 -> 1
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
45 [a-a] (5)
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
46 [b-b] (1)
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
47
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
48 state : 2*
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
49 node : e 2 -> 1
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
50
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
51 state : 4
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
52 node : | 4 -> 1
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
53 [a-a] (8)
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
54 [b-b] (8)
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
55
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
56 state : 8
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
57 node : | 8 -> 1
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
58 [a-a] (2)
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
59 [b-b] (2)
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
60
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
61 state : 5
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
62 [a-a] (1)
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
63 [b-b] (9)
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
64
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
65 state : 9
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
66 [a-a] (1) <---- 間違い 2 とmergeしているはずだが...
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
67 [b-b] (3)
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
68
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
69 state : 3*
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
70 [a-a] (5)
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
71 [b-b] (1)
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
72
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
73 やはり charClassMerge のbugだった。
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
74
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
75 createCharClassRangeで、同じものだったら新しく作らないってのがあると良い
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
76 charClassMerg が同じものを返す場合があるってことね
295
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 293
diff changeset
77 同じレンジで同じ状態のものだけなので、それほどあるとは思えないが。
293
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
78
948428caf616 NFA maximum match worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 291
diff changeset
79
289
20ed7536784f add test file
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 287
diff changeset
80 Mon Feb 1 01:51:10 JST 2016 kono
20ed7536784f add test file
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 287
diff changeset
81
20ed7536784f add test file
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 287
diff changeset
82 非決定性がある時の maxmum match がよろしくない
20ed7536784f add test file
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 287
diff changeset
83 これ以上拡張できないという終了条件の実現は?
20ed7536784f add test file
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 287
diff changeset
84
20ed7536784f add test file
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 287
diff changeset
85 ./regexParser -ts -subset -regex '(a|b)*a' -file ahoaho.txt
20ed7536784f add test file
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 287
diff changeset
86
20ed7536784f add test file
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 287
diff changeset
87 で、bの後にaが来なくなると、bの手前までをacceptする
20ed7536784f add test file
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 287
diff changeset
88
291
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
89 subset construction はいじらない方針で。
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
90
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
91
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
92 state : 1
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
93 node : + 1 -> 1
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
94 [a-a] (3)
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
95 [b-b] (1)
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
96
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
97 state : 2*
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
98 node : e 2 -> 1
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
99
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
100 state : 3*
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
101 [a-a] (3)
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
102 [b-b] (1)
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
103
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
104 * はaccept state。
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
105
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
106 [a-a] (3) で stateMatch で良いが、maxmum だと match している間は stateMatch はしない。
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
107 現状は、*の付いているstateで、条件にmatchしない時に stateMatch してる。
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
108 これだと state 3 で b で satete 1 に行ってしまい、b 以降に a がない時に失敗する。b に行く前の state 3 で stateMatchするべき。
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
109
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
110 matchする可能性がなくなったところで、前の部分でmatchさせる必要がある。
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
111 * match してなければ、match top をupdate
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
112 * match している間は直前matchをupdate
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
113 * match fail したところで、直前のmatch があれば、それを返す
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
114 という感じか?
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
115
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
116 minimum match は
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
117 * match してなければ、match top をupdate
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
118 * match したところで、直前のmatch があれば、それを返す
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
119 か?
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
120
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
121 ソース生成を CbC に対応させる。(でないと動かないらしい)
289
20ed7536784f add test file
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 287
diff changeset
122
20ed7536784f add test file
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 287
diff changeset
123
284
5d23dc02f60d add TODO
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 221
diff changeset
124 Sun Jan 31 20:37:49 JST 2016 masa
289
20ed7536784f add test file
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 287
diff changeset
125 並列処理時のバグ Ok
20ed7536784f add test file
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 287
diff changeset
126 (mili|have) のsubset construction のミス Ok
20ed7536784f add test file
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 287
diff changeset
127 tSearch の segv Ok
284
5d23dc02f60d add TODO
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 221
diff changeset
128
289
20ed7536784f add test file
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 287
diff changeset
129 '(main|int) ' .. Ok
20ed7536784f add test file
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 287
diff changeset
130 '(main|int)\(' .. Ok
287
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 284
diff changeset
131
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 284
diff changeset
132 とかが動かない。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 284
diff changeset
133
291
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
134 start state に accept flag が立っていると''にmatchしてしまう。それは別に生成する。
1b75546ff65f fix TODO
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 289
diff changeset
135
221
78174ff2f338 add Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 215
diff changeset
136 Sat Jan 2 15:29:16 JST 2016 kono
78174ff2f338 add Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 215
diff changeset
137
78174ff2f338 add Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 215
diff changeset
138 stateよりもstate transitionの方が大きいので、subset contructionで CharClassWalkするのは良くない。
78174ff2f338 add Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 215
diff changeset
139 mergeTransition した時に、state listに新しいものを接続してやれば、CharClassWalkの必要はない。
78174ff2f338 add Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 215
diff changeset
140 その時に、stateArray には入れないでおく。sateArrayは処理済みなので。
78174ff2f338 add Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 215
diff changeset
141
78174ff2f338 add Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 215
diff changeset
142 EOF stateには cc がないので特別扱いする必要がある。
78174ff2f338 add Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 215
diff changeset
143
78174ff2f338 add Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 215
diff changeset
144 Tue Dec 29 17:55:17 JST 2015 kono
215
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
145
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
146 Todo は上に付け加えていく。
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
147
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
148 abc*d +
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
149 / \
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
150 + d
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
151 / \
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
152 + *
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
153 / \ |
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
154 a b c
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
155
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
156 Parserを書き換えて、
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
157
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
158 abc*d +
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
159 / \
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
160 a +
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
161 / \
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
162 b +
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
163 / \
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
164 * d
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
165 |
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
166 c
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
167
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
168 とすることもできる。たぶん、こっちの方が良い。でも、
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
169 ((ab)(c*))d
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
170 と書いても良いはずで、しかも、これは abc*d とおなじになるので解決になってない。
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
171
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
172 sub treeは、最初の状態を返す必要がある。そうでないと、
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
173 (ab*|bc*)
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
174 とかがうまく動かない。
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
175
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
176 最後が*で終わっている時には、次の式と重ねる必要がある。なので、
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
177 最後の*があれば、それを持ち歩く
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
178 方式が良いと思います。
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
179
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
180 stateAllocateをgenerateTransitionは1 passにすると stateArrayの大きさを徐々に増やす必要がある。
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
181 少なくともループは一つにした方が間違いが少ないだろう。
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
182
210
e8aa8a1ea749 add benchmark TODO
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 204
diff changeset
183
e8aa8a1ea749 add benchmark TODO
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 204
diff changeset
184 2015年 12月27日 日曜日 19時31分03秒 JST
e8aa8a1ea749 add benchmark TODO
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 204
diff changeset
185 例題 特定の IP のアクセス数をカウントする
e8aa8a1ea749 add benchmark TODO
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 204
diff changeset
186 concordance
e8aa8a1ea749 add benchmark TODO
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 204
diff changeset
187 regex をつかった条件付き concordance
e8aa8a1ea749 add benchmark TODO
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 204
diff changeset
188 regex をつかった条件付き wordcount
e8aa8a1ea749 add benchmark TODO
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 204
diff changeset
189 これを行う perl スクリプトと比較
215
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
190
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
191 2015年 12月26日 土曜日 18時07分00秒 JST
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
192 TODO CharClassWalker の routine test を作成する
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
193 TODO CharClassMerge の routine test を作成する
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
194 TODO searchBit の routine test を作成する
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
195 TODO subsetConstraction の routine test を作成する
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 212
diff changeset
196