checkpoint harmony
authoradam <adam@megacz.com>
Wed, 11 Jan 2006 05:58:10 +0000 (00:58 -0500)
committeradam <adam@megacz.com>
Wed, 11 Jan 2006 05:58:10 +0000 (00:58 -0500)
darcs-hash:20060111055810-5007d-bbea753644725910475b31463bc60d4b7d10db2b.gz

src/edu/berkeley/sbp/GSS.java
src/edu/berkeley/sbp/Parser.java

index 8053ae8..993c21f 100644 (file)
@@ -296,11 +296,7 @@ class GSS {
         class Reset extends RuntimeException { }
 
         public void invoke(State st, Forest result, Node n) {
-            boolean ok = next.newNode(n, result, st, false);
-            if (ok && !good) {
-                good = !st.lame();
-                //if (good) System.out.println(st);
-            }
+            good |= next.newNode(n, result, st, false);
         }
 
         /** perform all shift operations, adding promoted nodes to <tt>next</tt> */
index 18bec5a..24f8410 100644 (file)
@@ -96,16 +96,8 @@ public abstract class Parser<T extends Token, R> {
                         Reduction red = new Reduction(p);
 
                         Topology follow = wf.walk(p.owner());
-                        if (p.owner() instanceof Sequence.RewritingSequence &&
-                            (((Sequence.RewritingSequence)p.owner()).tag+"").equals("emailaddr")) {
-                            System.out.println("follow before: " + new edu.berkeley.sbp.misc.CharToken.CharRange(follow));
-                        }
                         for(Position p2 = p; p2 != null && p2.element() != null; p2 = p2.next())
                             follow = follow.intersect(new Walk.Follow(top.empty(), p2.element(), all_elements, cache).walk(p2.element()));
-                        if (p.owner() instanceof Sequence.RewritingSequence &&
-                            (((Sequence.RewritingSequence)p.owner()).tag+"").equals("emailaddr")) {
-                            System.out.println("follow after: " + new edu.berkeley.sbp.misc.CharToken.CharRange(follow));
-                        }
                         state.reductions.put(follow, red);
                         if (wf.includesEof()) state.eofReductions.add(red);
                     }
@@ -131,36 +123,6 @@ public abstract class Parser<T extends Token, R> {
 
         public class State implements Comparable<Table.State>, IntegerMappable, Iterable<Position> {
         
-            public int toInt() { return idx; }
-
-            public boolean lame() {
-                for(Position p : this)
-                    for(Position p2 = p; p2!=null; p2=p2.next())
-                        if (p2.isLast() && !p2.owner().lame)
-                            return false;
-                return true;
-            }
-            /*
-            public boolean isResolvable(Token t) {
-                boolean found = false;
-                for(Reduction r : getReductions(t)) {
-                    Position p = r.position;
-                    if (!p.isRightNullable(cache)) continue;
-                    if (p.owner().firstp()==p) continue;
-                    if (found) {
-                        // found two items meeting criteria #1
-                        return false;
-                    } else {
-                        found = true;
-                        continue;
-                    }
-                    if (p.element()==null) continue;
-                    Topology first = new Walk.First(top(), cache).walk(p.element());
-                    if (first.contains(t))
-                }
-            }
-            */
-
             public  final     int               idx    = master_state_idx++;
             private final     HashSet<Position> hs;
 
@@ -282,6 +244,7 @@ public abstract class Parser<T extends Token, R> {
             }
 
             public int compareTo(Table.State s) { return idx==s.idx ? 0 : idx < s.idx ? -1 : 1; }
+            public int toInt() { return idx; }
         }
 
         /**