checkpoint harmony
[sbp.git] / src / edu / berkeley / sbp / GSS.java
index a8f8053..e4859d4 100644 (file)
@@ -132,7 +132,10 @@ class GSS {
             ret.append("\n  ");
             ret.append(message);
             HashMap<String,HashSet<String>> errors = new HashMap<String,HashSet<String>>();
-            for(Node n : hash.values()) complain(n, errors, false);
+            for(Node n : hash.values()) {
+                //System.out.println(n.state);
+                complain(n, errors, false);
+            }
             for(String s : errors.keySet()) {
                 ret.append("    while parsing " + yellow(s));
                 HashSet<String> hs = errors.get(s);
@@ -294,7 +297,11 @@ class GSS {
         class Reset extends RuntimeException { }
 
         public void invoke(State st, Forest result, Node n) {
-            good |= next.newNode(n, result, st, false);
+            boolean ok = next.newNode(n, result, st, false);
+            if (ok && !good) {
+                good = !st.lame();
+                //if (good) System.out.println(st);
+            }
         }
 
         /** perform all shift operations, adding promoted nodes to <tt>next</tt> */