# HG changeset patch # User tatsuki # Date 1432016134 -32400 # Node ID be08961d4c84d2128499a4ae445cacf6833e2b22 # Parent 71624cf77dbfc0ec2b2b2ab3d8c5745b5aad5e83 fix bug traverse diff -r 71624cf77dbf -r be08961d4c84 src/main/java/jp/ac/u_ryukyu/ie/cr/list/DefaultNode.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/list/DefaultNode.java Tue May 19 14:41:06 2015 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/list/DefaultNode.java Tue May 19 15:15:34 2015 +0900 @@ -54,9 +54,8 @@ @Override public Node replaceNode(int num, T attribute) { - if (this.num - 1 == num) { - Node newNode = new DefaultNode(attribute, num, this.next.getNext()); - return new DefaultNode(this.attribute, num + 1, newNode); + if (this.num == num) { + return new DefaultNode(attribute, num, this.getNext()); } Node newNode = next.replaceNode(num, attribute); diff -r 71624cf77dbf -r be08961d4c84 src/main/java/jp/ac/u_ryukyu/ie/cr/list/headNode.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/list/headNode.java Tue May 19 14:41:06 2015 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/list/headNode.java Tue May 19 15:15:34 2015 +0900 @@ -64,7 +64,7 @@ return new headNode(newNode); } - Node newNode = next.replaceNode(num, attribute); + Node newNode = nextNode.replaceNode(num, attribute); if (newNode == null) return this; return new headNode(newNode); diff -r 71624cf77dbf -r be08961d4c84 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/DefaultTraverser.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/DefaultTraverser.java Tue May 19 14:41:06 2015 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/DefaultTraverser.java Tue May 19 15:15:34 2015 +0900 @@ -85,7 +85,7 @@ } if(r == Result.CONTINUE){ - pos ++; + pos --; continue; } @@ -119,7 +119,7 @@ private Either>> _accept(final T _current,final int _pos,Evaluator _evaluator) { Children chs = _current.getChildren(); - Either>> either = _traverse(chs,_evaluator,0); + Either>> either = _traverse(chs,_evaluator,chs.size() - 1); if(either.isA()){ return either; }