X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2FGSS.java;h=bf58e6461ba0fd6aeb5566c21b3c7ecfb61f62ba;hp=27eb279a16692b92ad69a6c0dfd85d55bf172508;hb=33d7b8fa4974bad96108c11e5548b354cf10ecb8;hpb=80f8bc14a13b5e4912004e081ec96dc6ed807385 diff --git a/src/edu/berkeley/sbp/GSS.java b/src/edu/berkeley/sbp/GSS.java index 27eb279..bf58e64 100644 --- a/src/edu/berkeley/sbp/GSS.java +++ b/src/edu/berkeley/sbp/GSS.java @@ -77,15 +77,15 @@ class GSS { while(!reductionQueue.isEmpty()) { Reduction r = reductionQueue.poll(); //System.out.println("- " + r); - if (r.parentPhase() != null) - if (r.parentPhase().pos > minPhasePos) + if (r.predPhase() != null) + if (r.predPhase().pos > minPhasePos) throw new Error(); r.perform(); - if (r.parentPhase() != null) { - if (r.parentPhase().pos < minPhasePos) { - minPhasePos = r.parentPhase().pos; + if (r.predPhase() != null) { + if (r.predPhase().pos < minPhasePos) { + minPhasePos = r.predPhase().pos; best = r; - } else if (r.parentPhase().pos == minPhasePos) { + } else if (r.predPhase().pos == minPhasePos) { /* if (best != null && Parser.mastercache.comparePositions(r.reduction(), best.reduction()) < 0) throw new Error("\n"+r+"\n"+best+"\n"+ @@ -130,8 +130,7 @@ class GSS { finalResult.merge(r.getForest()); } if (token == null) continue; - Result result = new Result(f, null, null); - result.addParent(n); + Result result = new Result(f, n, null); n.state().invokeShifts(token, this, result); } numNewNodes = next==null ? 0 : next.hash.size();