annotate regexParser/transition.h @ 184:1da1b2eacb84 pairPro

gather struct
author Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
date Thu, 24 Dec 2015 20:09:21 +0900
parents d97bcab546e8
children ef798db705e9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
116
66c633575b53 remove error and warning
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 112
diff changeset
1 #include "bitVector.h"
66c633575b53 remove error and warning
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 112
diff changeset
2
177
8de9a33f6ae5 change createState aug
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 176
diff changeset
3 StatePtr createState(BitVector bi);
176
c092dd0e1ae0 implement appendState() and serchState()
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
4 StatePtr appendState(StatePtr x,StatePtr y);
110
a3adc5c24e19 start branch
masa
parents:
diff changeset
5 /*
a3adc5c24e19 start branch
masa
parents:
diff changeset
6 正規表現木を辿って transition のList をつくる
112
ec485345daf9 some function use static
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 110
diff changeset
7 CharClass のかさなりを判定して重なりのない新しいCharClassをつくる
110
a3adc5c24e19 start branch
masa
parents:
diff changeset
8 重なっている状態はbitvectorのorをとる
a3adc5c24e19 start branch
masa
parents:
diff changeset
9 重なっている状態はそれぞれの状態について木をたどる
112
ec485345daf9 some function use static
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 110
diff changeset
10
110
a3adc5c24e19 start branch
masa
parents:
diff changeset
11 nextState == 0 は正規表現の末端を表す
a3adc5c24e19 start branch
masa
parents:
diff changeset
12 nextState == 1 は受理状態を表す
a3adc5c24e19 start branch
masa
parents:
diff changeset
13 正規表現のノードの番号 n に対応する 2^n のbitをセットした状態
112
ec485345daf9 some function use static
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 110
diff changeset
14
110
a3adc5c24e19 start branch
masa
parents:
diff changeset
15 | の場合は両方のListを結合する
a3adc5c24e19 start branch
masa
parents:
diff changeset
16 + の場合は左のノードに * がある場合は右のリストも結合する
112
ec485345daf9 some function use static
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 110
diff changeset
17 左のノードに*がない場合は、右のほうだけみる
110
a3adc5c24e19 start branch
masa
parents:
diff changeset
18 * は直下のリストを使って、次の状態を自分自身にする
a3adc5c24e19 start branch
masa
parents:
diff changeset
19 */