From fc8cad4de7decd07e23f26ccfadb5e6d1ce291d5 Mon Sep 17 00:00:00 2001 From: adam Date: Sun, 25 Feb 2007 20:32:25 -0500 Subject: [PATCH] GSS: use PriorityQueue, remove ugly debugging garbage darcs-hash:20070226013225-5007d-24acd3e08191e396b643a1713beeffe4459f359a.gz --- src/edu/berkeley/sbp/GSS.java | 32 +++----------------------------- 1 file changed, 3 insertions(+), 29 deletions(-) diff --git a/src/edu/berkeley/sbp/GSS.java b/src/edu/berkeley/sbp/GSS.java index f0a4cea..f222fe5 100644 --- a/src/edu/berkeley/sbp/GSS.java +++ b/src/edu/berkeley/sbp/GSS.java @@ -25,7 +25,7 @@ class GSS { /** corresponds to a positions between tokens the input stream; same as Tomita's U_i's */ class Phase implements Invokable, IntegerMappable, GraphViz.ToGraphViz, Iterable { - public ArrayList reductionQueue = new ArrayList(); + public PriorityQueue reductionQueue = new PriorityQueue(); public void invoke(State st, Result result, Object o) { //shifts++; @@ -95,34 +95,8 @@ class GSS { /** perform all reduction operations */ public void reduce() throws ParseFailed { - Reduction last = null; - while(!reductionQueue.isEmpty()) { - Reduction r = null; - - // ugly - OUTER: for(int i=0; i 0) - continue OUTER; - } - r = reductionQueue.get(i); - reductionQueue.remove(r); - break; - } - - /* - if (last == null) last = r; - else if (r.compareTo(last) > 0) last = r; - else if (r.compareTo(last) < 0) { - if (r.targetPhase() != null) - System.out.println("err " + last.compareTo(r) + " " + last.targetPhase().pos() + - " " + r.targetPhase().pos() + " " + pos); - } - */ - - r.perform(); - } + while(!reductionQueue.isEmpty()) + reductionQueue.poll().perform(); } public void newNodeFromReduction(Result result, State state, boolean fromEmptyReduction, Position reduction) { -- 1.7.10.4