changeset 255:61d4d466e64c

fix Makefile
author Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
date Mon, 25 Jan 2016 18:20:37 +0900
parents 21b9ba76f91b
children 72f3673dd7a5
files regexParser/Makefile regexParser/regexParser.cc regexParser/subsetConstruction.cc
diffstat 3 files changed, 7 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/regexParser/Makefile	Sun Jan 24 21:10:12 2016 +0900
+++ b/regexParser/Makefile	Mon Jan 25 18:20:37 2016 +0900
@@ -85,7 +85,7 @@
 	./regexParser -regex '[d-ga-db-e]'
 	./regexParser -regex '[d-gh-ja-e]'
 	./regexParser -regex 'abcd'
-	./regexParser -regex '([a-c]x]|[d-f]y)'
+	./regexParser -regex '([a-c]x|[d-f]y)'
 
 test2: regexParser
 	./regexParser -subset -regex '(a|b)*a(a|b)(a|b)'
--- a/regexParser/regexParser.cc	Sun Jan 24 21:10:12 2016 +0900
+++ b/regexParser/regexParser.cc	Mon Jan 25 18:20:37 2016 +0900
@@ -260,6 +260,9 @@
             n->right = n1;
         } else if (ri->tokenType == ')') {
             return n;
+        } else if (ri->tokenType == ']') {
+            // error
+            return n;
         } else {
             n = createNode(ri,'+',0,n,0);
             NodePtr n1 = regexAtom(ri);
--- a/regexParser/subsetConstruction.cc	Sun Jan 24 21:10:12 2016 +0900
+++ b/regexParser/subsetConstruction.cc	Mon Jan 25 18:20:37 2016 +0900
@@ -214,8 +214,6 @@
     BitVector bi = createBitVector(tgv.tg->totalStateCount);
     StatePtr s = createState(tgv.tg,bi);
     n->stateNum = s->stateNum;
-    s->next = tgv.tg->stateList;
-    tgv.tg->stateList = s;
     s->node = n;
     s->bitState = bi;
     s->accept = false;
@@ -310,7 +308,10 @@
 
 TGValue  generateTransitionList(NodePtr n) {
     TGValue tgv = createTGValue();
+    State dummy;
+    tgv.tg->stateEnd = &dummy;
     StatePtr startState = tgv.startState = createState(tgv,n);
+    tgv.tg->stateList = startState;
     NodePtr eof = createNode(NULL,'e',NULL,NULL,NULL);
     StatePtr endState = tgv.endState = createState(tgv,eof);
     endState->accept = true;