checkpoint
[sbp.git] / src / edu / berkeley / sbp / tib / Tib.java
index e4123fc..4b4a247 100644 (file)
@@ -44,6 +44,9 @@ public class Tib implements Token.Stream<Character> {
     public Token.Location getLocation() { return new CartesianInput.Location(_row, _col); }
     private BufferedReader br;
 
+    char left = CharRange.left;
+    char right = CharRange.right;
+
     boolean waiting = false;
     char waitingChar = ' ';
     boolean indenting = true;
@@ -51,8 +54,8 @@ public class Tib implements Token.Stream<Character> {
     private ArrayList<Integer> istack = new ArrayList<Integer>();
     public Character next(int numstates, int resets, int waits) throws IOException {
         Character ret = nextc(numstates, resets);
-        if      (ret==CharToken.left)  System.out.print("\033[31m{\033[0m");
-        else if (ret==CharToken.right) System.out.print("\033[31m}\033[0m");
+        if      (ret==left)  System.out.print("\033[31m{\033[0m");
+        else if (ret==right) System.out.print("\033[31m}\033[0m");
         else if (ret==null) return null;
         else System.out.print(ret);
         return ret;
@@ -74,7 +77,7 @@ public class Tib implements Token.Stream<Character> {
             if (i==-1) {
                 if (istack.size() > 1) {
                     istack.remove(istack.size()-1);
-                    return CharToken.right;
+                    return right;
                 }
                 return null;
             }
@@ -91,8 +94,8 @@ public class Tib implements Token.Stream<Character> {
                     indenting = false;
                     waitingChar = c;
                     waiting = true;
-                    waitingBrace = CharToken.left;
-                    return CharToken.right;
+                    waitingBrace = left;
+                    return right;
                     //return nextc(numstates);
                 }
                 blank = false;
@@ -106,12 +109,12 @@ public class Tib implements Token.Stream<Character> {
                 indenting = false;
                 istack.add(indentation);
                 //System.out.print("\033[31m+"+indentation+"+\033[0m");
-                return CharToken.left;
+                return left;
             } else /*if (indentation < last)*/ {
                 istack.remove(istack.size()-1);
                 //System.out.print("\033[31m-"+last+"-\033[0m");
                 blank = true;
-                return CharToken.right;
+                return right;
             }
         } else {
             blank = false;
@@ -122,8 +125,8 @@ public class Tib implements Token.Stream<Character> {
 
     public Character done(char c) {
         switch(c) {
-            case '{': return CharToken.left;
-            case '}': return CharToken.right;
+            case '{': return left;
+            case '}': return right;
             default: return c;
         }
     }
@@ -146,11 +149,11 @@ public class Tib implements Token.Stream<Character> {
                 return nonTerminal(s,
                                    new PreSequence[][] {
                                        new PreSequence[] {
-                                           new PreSequence(new Element[] { CharToken.leftBrace,
+                                           new PreSequence(new Element[] { CharRange.leftBrace,
                                                                            ws,
                                                                            u2,
                                                                            ws,
-                                                                           CharToken.rightBrace
+                                                                           CharRange.rightBrace
                                            })
                                        }
                                    },
@@ -164,8 +167,8 @@ public class Tib implements Token.Stream<Character> {
     /*
 public class Braces extends Union {
 
-    private static final Element left  = CharToken.string("{");
-    private static final Element right = CharToken.string("}");
+    private static final Element left  = string("{");
+    private static final Element right = string("}");
     
     public static String join(Object[] e) {
         StringBuffer ret = new StringBuffer();