X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2FGSS.java;h=0bc14ae38bfe80f9e2ed005dbd676c54b58f5e10;hb=7d87b6f9aa045ec7e4a802a88240a235c5fde5a3;hp=3c1b9da604f4a3aa3be8a607b0a6c7db463b1f75;hpb=3885d0596c6f13f432ecd2c46f87d6477cb773b0;p=sbp.git diff --git a/src/edu/berkeley/sbp/GSS.java b/src/edu/berkeley/sbp/GSS.java index 3c1b9da..0bc14ae 100644 --- a/src/edu/berkeley/sbp/GSS.java +++ b/src/edu/berkeley/sbp/GSS.java @@ -186,49 +186,38 @@ class GSS { private Forest.Ref holder = null; private boolean allqueued = false; - private HashMap cache = null; - - /** the set of nodes to which there is an edge starting at this node */ - //public final FastSet parents = new FastSet(); /* ALLOC */ - /** what state this node is in */ public final Parser.Table.State state; /** which Phase this Node belongs to (node that Node is also a non-static inner class of Phase) */ public Phase phase() { return Phase.this; } - public HashMap cache() { - return cache==null ? (cache = new HashMap()) : cache; - } public Forest.Ref holder() { return holder==null ? (holder = new Forest.Ref()) : holder; } public Forest pending() { return Phase.this.closed ? holder().resolve() : holder; } public FastSet parents() { return this; } - /** FIXME */ public void queueReductions() { if (allqueued) return; allqueued = true; int where = parents().size(); for(Parser.Table.Reduction r : state.getReductions(token)) if (r.numPop >= 1) - r.reduce(this, null, null); + r.reduce(this); } - /** FIXME */ public void queueReductions(Node n2) { if (!allqueued) { queueReductions(); return; } for(Parser.Table.Reduction r : state.getReductions(token)) if (r.numPop > 0) - r.reduce(this, n2, null); + r.reduce(this, n2); } - /** FIXME */ public void queueEmptyReductions() { if (reducing) for(Parser.Table.Reduction r : token==null ? state.getEofReductions() : state.getReductions(token)) if (r.numPop==0) - r.reduce(this, null, r.zero()); + r.reduce(this); } private Node(Node parent, Forest pending, Parser.Table.State state, Phase start) {