X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2FStateNode.java;h=bb461cb3cb4d7d0ed3d5236621e9b4f5924934aa;hp=6401a1e7e11dbbb02e535085111bd6e92097a60c;hb=76ce41540f06ac1fbcb44332dd62f53e88c27cf1;hpb=e0642797cf50d33913d996056146bd5ca79ddbd8 diff --git a/src/edu/berkeley/sbp/StateNode.java b/src/edu/berkeley/sbp/StateNode.java index 6401a1e..bb461cb 100644 --- a/src/edu/berkeley/sbp/StateNode.java +++ b/src/edu/berkeley/sbp/StateNode.java @@ -13,8 +13,7 @@ import java.lang.reflect.*; /** a node in the GSS */ final class StateNode extends Node - implements Invokable, - Iterable { + implements Invokable { /** which GSS.Phase this StateNode belongs to */ public GSS.Phase phase() { return phase; } @@ -61,10 +60,6 @@ final class StateNode private final GSS.Phase predPhase; private final Parser.Table.State state; private boolean fromEmptyReduction; - private FastSet predecessors = new FastSet(); - private FastSet successors = new FastSet(); - //private HashSet predecessors = new HashSet(); - //private HashSet successors = new HashSet(); public final void invoke(Pos r, ResultNode only, Object o) { boolean emptyProductions = only==null; @@ -79,7 +74,7 @@ final class StateNode private void reduce(Pos r, int pos, GSS.Phase target, ResultNode only) { for(ResultNode res : predecessors) if (only == null || res == only) - for(StateNode pred : res.getPreds()) + for(StateNode pred : res) reduce2(r, pos, target, pred, res.getForest()); } @@ -120,14 +115,14 @@ final class StateNode successors.remove(succ); check(); } - public void removeResult(ResultNode result) { + public void removePred(ResultNode result) { predecessors.remove(result); check(); } public void addSucc(ResultNode succ) { successors.add(succ); } - public void addResult(Forest f, Pos reduction, StateNode pred) { + public void addPred(Forest f, Pos reduction, StateNode pred) { for(ResultNode r : predecessors) if (r.predecessorsContains(pred)) { r.merge(f);