diff regexParser/regexParser.h @ 187:ef798db705e9 pairPro

remove some warnings and errors(not working)
author Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
date Thu, 24 Dec 2015 22:38:50 +0900
parents 3e8aae8beba9
children 109d22faf7b5
line wrap: on
line diff
--- a/regexParser/regexParser.h	Thu Dec 24 20:37:29 2015 +0900
+++ b/regexParser/regexParser.h	Thu Dec 24 22:38:50 2015 +0900
@@ -7,43 +7,6 @@
     unsigned long bitContainer;
 }BitVector,*BitVectorPtr;
 
-typedef struct stateStack {
-    BitVector state;
-    struct stateStack *next;
-} StateStack, *StateStackPtr;
-
-typedef struct transitionGenerator {
-    long stateMax;
-    StateStack stack;
-    StatePtr state;
-    StatePtr stateArray;
-    StatePtr currentState;
-} TransitionGenerator, *TransitionGeneratorPtr;
-
-typedef struct tgValue {
-    bool asterisk;
-    int stateBegin;
-    int stateEnd;
-    TransitionGeneratorPtr tg;
-} TGValue, *TGValuePtr;
-
-enum charClassStackState {
-    LEFT,
-    SELF,
-    RIGHT
-};
-
-typedef struct charClassStack {
-    charClassStackState turn;
-    CharClassPtr cc;
-    struct charClassStack *next;
-} CharClassStack, *CharClassStackPtr;
-
-typedef struct charClassWalker {
-    CharClassStackPtr stack;
-    CharClassPtr next;
-} CharClassWalker, *CharClassWalkerPtr;
-
 typedef struct word {
     unsigned char *word;
     int length;
@@ -70,21 +33,59 @@
 
 typedef struct node {
     unsigned char tokenType;
-    unsigned long nodeNumber;
     CharClassPtr cc;
     int stateNum;
     int nextStateNum;
+    typedef struct state {
+        BitVector bitState;
+        CharClassPtr cc;
+        struct node *node;
+        struct state *next;
+    } State, *StatePtr;
     StatePtr state;
     struct node *left;
     struct node *right;
 } Node, *NodePtr;
 
-typedef struct state {
-    BitVector bitState;
+typedef struct stateStack {
+    BitVector state;
+    struct stateStack *next;
+} StateStack, *StateStackPtr;
+
+typedef struct transitionGenerator {
+    long stateMax;
+    StateStackPtr stack;
+    node::StatePtr state;
+    node::StatePtr stateArray;
+    node::StatePtr currentState;
+} TransitionGenerator, *TransitionGeneratorPtr;
+
+typedef struct tgValue {
+    bool asterisk;
+    int stateNum;
+    int stateBegin;
+    int stateEnd;
+    node::StatePtr tgState;
+    TransitionGeneratorPtr tg;
+} TGValue, *TGValuePtr;
+
+enum charClassStackState {
+    LEFT,
+    SELF,
+    RIGHT
+};
+
+typedef struct charClassStack {
+    charClassStackState turn;
     CharClassPtr cc;
-    NodePtr node;
-    struct state *next;
-} State, *StatePtr;
+    struct charClassStack *next;
+} CharClassStack, *CharClassStackPtr;
+
+typedef struct charClassWalker {
+    CharClassStackPtr stack;
+    CharClassPtr next;
+} CharClassWalker, *CharClassWalkerPtr;
+
 
 typedef struct regexInfo {
     unsigned char *ptr;
@@ -93,4 +94,5 @@
     int stateNumber;
 } RegexInfo, *RegexInfoPtr;
 
+NodePtr createNode(RegexInfoPtr ri,unsigned char type,CharClassPtr cc, NodePtr left, NodePtr right);
 CharClassPtr createCharClassRange(unsigned long begin, unsigned long end, CharClassPtr left, CharClassPtr right);