changeset 191:02031fb73af8 pairPro

remove somefiles and fix header files
author Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
date Fri, 25 Dec 2015 16:08:02 +0900
parents 3e8e5780ad4a
children ecf70fb215a5
files regexParser/Makefile regexParser/bitVector.cc regexParser/bitVector.h regexParser/determinize.cc regexParser/determinize.h regexParser/error.cc regexParser/error.h regexParser/mergeTest.cc regexParser/regexParser.h regexParser/subsetConstraction.cc regexParser/subsetConstraction.h regexParser/transition.cc regexParser/transition.h
diffstat 13 files changed, 18 insertions(+), 146 deletions(-) [+]
line wrap: on
line diff
--- a/regexParser/Makefile	Fri Dec 25 15:30:52 2015 +0900
+++ b/regexParser/Makefile	Fri Dec 25 16:08:02 2015 +0900
@@ -1,31 +1,23 @@
 TARGET= regexParser
-MERGE= mergeTest
 CFLAGS= -Wall -O0 -g
 CC= clang++
 
 SRCS_TMP = $(wildcard *.cc)
-SRCS_EXCLUDE =  determinize.cc mergeTest.cc
+SRCS_EXCLUDE = 
 SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP))
 OBJS = $(SRCS:.cc=.o)
 
-SRCS_TMP1_MERGE = $(wildcard *.cc)
-SRCS_EXCLUDE1_MERGE =  determinize.cc main.cc
-SRCS1_MERGE = $(filter-out $(SRCS_EXCLUDE1_MERGE),$(SRCS_TMP1_MERGE))
-OBJS_MERGE = $(SRCS1_MERGE:.cc=.o)
-
 .cc.o:
 	$(CC) $(CFLAGS) -c $< -o $@
 
-all: $(TARGET) $(MERGE)
+all: $(TARGET)
 
 $(TARGET):$(OBJS)
 	$(CC) -o $@ $(OBJS)
 
-$(MERGE):$(OBJS_MERGE)
-	$(CC) -o $@ $(OBJS_MERGE)
 
 clean:
-	rm -f $(TARGET) $(MERGE) $(OBJS) $(OBJS_MERGE)
+	rm -f $(TARGET) $(OBJS)
 	rm -f *~ \#*
 
 .SUFFIXES: .cc .o
--- a/regexParser/bitVector.cc	Fri Dec 25 15:30:52 2015 +0900
+++ b/regexParser/bitVector.cc	Fri Dec 25 16:08:02 2015 +0900
@@ -1,7 +1,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include "bitVector.h"
+#include "regexParser.h"
 
 BitVector createBitVector(int state) {
     unsigned long tmp = 1 << state;
--- a/regexParser/bitVector.h	Fri Dec 25 15:30:52 2015 +0900
+++ b/regexParser/bitVector.h	Fri Dec 25 16:08:02 2015 +0900
@@ -1,7 +1,4 @@
-#include "regexParser.h"
-#define BITBLOCK 64
-
-BitVector createBitVector(int state);
-const BitVectorPtr allocateBitVector();
-void bitSet(BitVectorPtr bi, int bitSetPosition);
-void bitPrint(BitVectorPtr bi);
+extern BitVector createBitVector(int state);
+extern const BitVectorPtr allocateBitVector();
+extern void bitSet(BitVectorPtr bi, int bitSetPosition);
+extern void bitPrint(BitVectorPtr bi);
--- a/regexParser/determinize.cc	Fri Dec 25 15:30:52 2015 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-#include "determinize.h"
-
-TransitionPtr determinize(TransitionPtr cond, TransitionPtr list) {
-    TransitionPtr x0 = createTransition(x->condition, x->nextState);
-    TransitionPtr x1 = x0;
-    for(;;) {
-        if (x->next == NULL) {
-            x1->next = y;
-            return x0;
-        }
-        x = x->next;
-        x1->next = createTransition(x->condition, x->nextState);
-        x1 = x1->next;
-    }
-    return x0;
-}
--- a/regexParser/determinize.h	Fri Dec 25 15:30:52 2015 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-#include "transition.h"
-
-TransitionPtr determinize(TransitionPtr, TransitionPtr);
--- a/regexParser/error.cc	Fri Dec 25 15:30:52 2015 +0900
+++ b/regexParser/error.cc	Fri Dec 25 16:08:02 2015 +0900
@@ -1,5 +1,5 @@
 #include <stdio.h>
-#include "error.h"
+#include <stdlib.h>
 
 void mallocFailedMessage() {
     fprintf(stderr, "Failed to allocate memory.\n");
--- a/regexParser/error.h	Fri Dec 25 15:30:52 2015 +0900
+++ b/regexParser/error.h	Fri Dec 25 16:08:02 2015 +0900
@@ -1,2 +1,1 @@
-#include <stdlib.h>
-void mallocFailedMessage();
+extern void mallocFailedMessage();
--- a/regexParser/mergeTest.cc	Fri Dec 25 15:30:52 2015 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "subsetConstraction.h"
-
-extern NodePtr regex(RegexInfoPtr);
-extern void printTree(NodePtr);
-
-int main(int argc, char **argv)
-{
-    RegexInfoPtr ri = (RegexInfoPtr)malloc(sizeof(RegexInfo));
-    ri->stateNumber = 1;
-    unsigned char* merge = NULL;
-    for (int i = 1; i < argc; i++) {
-        if (strcmp(argv[i],"-regex") == 0) {
-            ri->ptr = (unsigned char*)argv[i+1]; i++;
-        } else if (strcmp(argv[i],"-merge") == 0) {
-            merge = (unsigned char*)argv[i+1]; i++;
-        }
-    }
-    printf("regex : %s\n",ri->ptr);
-    printf("merge : %s\n",merge);
-
-    unsigned char begin, end;
-    if (merge[0] == '[') merge++;
-    begin = *merge;
-    end = *merge;
-    for (; *merge && *merge != ']'; merge++) {
-        if (*merge == '-') {
-            end = *(merge + 1);
-            merge++;
-            continue;
-        }
-        if (merge[0] == 0 || merge[0] == ']') break;
-        begin = *merge;
-        end = *merge;
-    }
-    NodePtr n = regex(ri);
-    printTree(n);
-    BitVector nextState;
-    charClassMerge(n->cc,begin,end,nextState);
-    return 0;
-}
--- a/regexParser/regexParser.h	Fri Dec 25 15:30:52 2015 +0900
+++ b/regexParser/regexParser.h	Fri Dec 25 16:08:02 2015 +0900
@@ -1,12 +1,12 @@
-#include "error.h"
 #define NEW(type) (type*)malloc(sizeof(type))
-#define SYNTAX_NODENUMBER 100
 
 #ifndef INCLUDED_STRUCT
 #define INCLUDED_STRUCT
+
+#define BITBLOCK 64
 typedef struct bitVector {
     unsigned long bitContainer;
-}BitVector,*BitVectorPtr;
+} BitVector,*BitVectorPtr;
 
 typedef struct word {
     unsigned char *word;
--- a/regexParser/subsetConstraction.cc	Fri Dec 25 15:30:52 2015 +0900
+++ b/regexParser/subsetConstraction.cc	Fri Dec 25 16:08:02 2015 +0900
@@ -1,8 +1,11 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <ctype.h>
+
+#include "regexParser.h"
 #include "subsetConstraction.h"
 #include "node.h"
+#include "BitVector.h"
 
 CharClassPtr createCharClassWord(unsigned char *w, CharClassPtr cc1, CharClassPtr cc2) {
     CharClassPtr cc = NEW(CharClass);
@@ -314,6 +317,7 @@
 TransitionGeneratorPtr generateTransitionList(NodePtr n) {
     TransitionGeneratorPtr tg = createTransitionGenerator();
     TGValue tgv;
+    // initiarize tgv
     tgv.asterisk = false;
     tgv.tg = tg;
     tgv.tg->startState = createState(tgv,n);
@@ -321,6 +325,7 @@
     tgv.tg->endState = createState(tgv,eof);
     tgv.stateBegin = 0;
     tgv.stateEnd = 1;
+    tgv.tgState = NULL;
     stateAllocate(n,tgv);
     tgv.tg->stateMax = tg->stateMax;
     BitVector bi = createBitVector(tg->stateMax);
--- a/regexParser/subsetConstraction.h	Fri Dec 25 15:30:52 2015 +0900
+++ b/regexParser/subsetConstraction.h	Fri Dec 25 16:08:02 2015 +0900
@@ -1,5 +1,3 @@
-#include "transition.h"
-#include "bitVector.h"
 extern CharClassPtr charClassMerge(CharClassPtr cc,unsigned long begin, unsigned long end, BitVector nextState);
 extern TransitionGeneratorPtr generateTransitionList(NodePtr n);
 extern void printState(TransitionGeneratorPtr tg);
--- a/regexParser/transition.cc	Fri Dec 25 15:30:52 2015 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-#include <stdlib.h>
-#include "transition.h"
-
-StatePtr searchState(StatePtr stateArray, StatePtr state) {
-    while(stateArray) {
-        if (stateArray->bitState.bitContainer == state->bitState.bitContainer) {
-            return stateArray;
-        }
-        if (stateArray->next == NULL) {
-            StatePtr s = createState(state->bitState);
-            stateArray = appendState(stateArray,s);
-            return stateArray;
-        }
-        stateArray = stateArray->next;
-    }
-    return stateArray;
-}
-
-StatePtr createState(BitVector bi) {
-    StatePtr state = NEW(State);
-    state->bitState = bi;
-    state->node = NEW(Node);
-    return state;
-}
-
-StatePtr appendState(StatePtr x,StatePtr y) {
-    StatePtr x0 = createState(x->bitState);
-    StatePtr x1 = x0;
-    for(;;) {
-        if (x->next == NULL) {
-            x1->next = y;
-            return x0;
-        }
-        x = x->next;
-        x1->next = createState(x->bitState);
-        x1 = x1->next;
-    }
-    return x0;
-}
--- a/regexParser/transition.h	Fri Dec 25 15:30:52 2015 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-#include "bitVector.h"
-StatePtr createState(BitVector bi);
-StatePtr appendState(StatePtr x,StatePtr y);
-/*
-  正規表現木を辿って transition のList をつくる
-  CharClass のかさなりを判定して重なりのない新しいCharClassをつくる
-  重なっている状態はbitvectorのorをとる
-  重なっている状態はそれぞれの状態について木をたどる
-
-  nextState == 0 は正規表現の末端を表す
-  nextState == 1 は受理状態を表す
-  正規表現のノードの番号 n に対応する 2^n のbitをセットした状態
-
-  | の場合は両方のListを結合する
-  + の場合は左のノードに * がある場合は右のリストも結合する
-  左のノードに*がない場合は、右のほうだけみる
-  * は直下のリストを使って、次の状態を自分自身にする
- */