正規表現の Subset Constraction の状態の集合を生成するために正規表現の Parser を記述している
正規表現の二分木が正しく構築できているかどうか確認するために、Tree を表示させるためのプログラムを書いている。
% ./regexParser -regex abc
c
+
b
+
a
% ./regexParser -regex (a*|bc)d
d
+
c
+
b
|
*
a
string なのか literal なのか判断しないで createNode をしてる
typedef struct node {
unsigned char type;
union value {
charClass *cc;
unsigned char character;
} Value, *ValuePtr;
struct node *self;
struct node *left;
struct node *right;
} Node, *NodePtr;
木を表示する際に、右ノード、親ノード、左ノードの順番で表示する。
右ノードから親ノードに移動する際、ノードを遡るための情報が node に持っていない。
親ノードの情報も持たせたほうが良さそう