break Node out of GSS
[sbp.git] / src / edu / berkeley / sbp / ParseFailed.java
index 1fa0b08..31a3a56 100644 (file)
@@ -4,7 +4,7 @@ package edu.berkeley.sbp;
 import edu.berkeley.sbp.*;
 import edu.berkeley.sbp.Sequence.Position;
 import edu.berkeley.sbp.GSS.Phase;
-import edu.berkeley.sbp.GSS.Phase.Node;
+import edu.berkeley.sbp.Node;
 import edu.berkeley.sbp.util.*;
 import java.io.*;
 import java.util.*;
@@ -46,25 +46,25 @@ public class ParseFailed extends Exception {
         return (c >= 'A' && c <= 'Z');
     }
 
-    static <Tok> void barf(HashMap<Element,Input.Location> sb, GSS.Phase<Tok>.Node n, int indent, boolean skip, int count, Input.Location loc) {
+    static <Tok> void barf(HashMap<Element,Input.Location> sb, Node n, int indent, boolean skip, int count, Input.Location loc) {
         if (count <= 0) {
             barf(sb, n, indent, skip, loc);
         } else {
-            for(GSS.Phase<Tok>.Node nn : n.parents())
+            for(Node nn : (Iterable<Node>)n.parents())
                 barf(sb, nn, indent, skip, count-1, n.phase().getLocation());
         }
     }
-    static <Tok> void barf(HashMap<Element,Input.Location> sb, GSS.Phase<Tok>.Node n, int indent, boolean skip, Input.Location loc) {
+    static <Tok> void barf(HashMap<Element,Input.Location> sb, Node n, int indent, boolean skip, Input.Location loc) {
         if (touched.contains(n)) return;
         touched.add(n);
         String s = "";
         for(int i=0; i< indent; i++) s += " ";
-        GSS.Phase<Tok>.Node parent = n;
+        Node parent = n;
         boolean done = false;
         boolean alldone = false;
         boolean go = false;
         boolean force = false;
-        for(Position p : parent.state) {
+        for(Position p : (Iterable<Position>)parent.state()) {
             if (skip) p = p.next();
             int raise = 0;
             done = false;
@@ -97,11 +97,11 @@ public class ParseFailed extends Exception {
 
 
     // FIXME
-    private static HashSet<GSS.Phase.Node> touched = new HashSet<GSS.Phase.Node>();
-    static <Tok> void complain(GSS.Phase<Tok>.Node n, HashMap<String,HashSet<String>> errors, boolean force, int indent) {
+    private static HashSet<Node> touched = new HashSet<Node>();
+    static <Tok> void complain(Node n, HashMap<String,HashSet<String>> errors, boolean force, int indent) {
         if (touched.contains(n)) return;
         touched.add(n);
-        for(Position p : n.state) {
+        for(Position p : (Iterable<Position>)n.state()) {
             //if (!p.isLast() && !p.next().isLast()) continue;
             if (((p.isFirst() || p.isLast()) && !force)/* || p.owner().name==null*/ ||
                 !important(p)) {