checkpoint
[sbp.git] / src / edu / berkeley / sbp / tib / Tib.java
index e4123fc..15c286a 100644 (file)
@@ -5,6 +5,7 @@
 package edu.berkeley.sbp.tib;
 import edu.berkeley.sbp.*;
 import edu.berkeley.sbp.misc.*;
+import edu.berkeley.sbp.chr.*;
 import java.util.*;
 import java.io.*;
 
@@ -23,7 +24,7 @@ import java.io.*;
  *   experimentation with the TIB spec.  Once the spec is finalized it
  *   should probably be rewritten.
  */
-public class Tib implements Token.Stream<Character> {
+public class Tib implements Input.Stream<Character> {
 
     public Tib(String s) throws IOException { this(new StringReader(s)); }
     public Tib(Reader r) throws IOException { this(new BufferedReader(r)); }
@@ -41,9 +42,12 @@ public class Tib implements Token.Stream<Character> {
 
     int _row = 1;
     int _col = 0;
-    public Token.Location getLocation() { return new CartesianInput.Location(_row, _col); }
+    public Input.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 +55,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 +78,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 +95,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 +110,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 +126,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 +150,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 +168,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();