checkpoint
authoradam <adam@megacz.com>
Sun, 16 Jul 2006 08:00:12 +0000 (04:00 -0400)
committeradam <adam@megacz.com>
Sun, 16 Jul 2006 08:00:12 +0000 (04:00 -0400)
darcs-hash:20060716080012-5007d-ecd361739477c986b21a743c1c51036cac4aaf95.gz

src/edu/berkeley/sbp/chr/CharAtom.java [moved from src/edu/berkeley/sbp/chr/CharRange.java with 63% similarity]
src/edu/berkeley/sbp/meta/MetaGrammarBindings.java
src/edu/berkeley/sbp/tib/Tib.java

similarity index 63%
rename from src/edu/berkeley/sbp/chr/CharRange.java
rename to src/edu/berkeley/sbp/chr/CharAtom.java
index 78f2057..c0df627 100644 (file)
@@ -8,22 +8,22 @@ import edu.berkeley.sbp.util.*;
 import edu.berkeley.sbp.misc.*;
 import edu.berkeley.sbp.Input.Location;
 
-public class CharRange extends Atom<Character> {
+public class CharAtom extends Atom<Character> {
 
-    public CharRange(char a) { this(a,a); }
-    public CharRange(char a, char b) { this(new CharTopology(a, b)); }
-    public CharRange(CharTopology t) { this.t = t; }
+    public CharAtom(char a) { this(a,a); }
+    public CharAtom(char a, char b) { this(new CharTopology(a, b)); }
+    public CharAtom(CharTopology t) { this.t = t; }
 
     private CharTopology t;
     public  Topology<Character> top() { return t; }
 
     public static final char left       = (char)9998;
     public static final char right      = (char)9999;
-    public static final Atom leftBrace  = new CharRange(left,left)   { public String toString() { return "[{]"; } };
-    public static final Atom rightBrace = new CharRange(right,right) { public String toString() { return "[}]"; } };
-    public static final Atom braces     = new CharRange(left,right)   { public String toString() { return "[{}]"; } };
+    public static final Atom leftBrace  = new CharAtom(left,left)   { public String toString() { return "[{]"; } };
+    public static final Atom rightBrace = new CharAtom(right,right) { public String toString() { return "[}]"; } };
+    public static final Atom braces     = new CharAtom(left,right)   { public String toString() { return "[{}]"; } };
 
-    public static Atom set(Range.Set r) { return new CharRange(new CharTopology(r)); }
+    public static Atom set(Range.Set r) { return new CharAtom(new CharTopology(r)); }
 
     public String toString() { return t.toString(); }
 
@@ -35,13 +35,13 @@ public class CharRange extends Atom<Character> {
         Element ret;
         if (share && s.length() == 1) {
             ret =
-                new CharRange(s.charAt(0)) {
+                new CharAtom(s.charAt(0)) {
                     public String toString() { return escapified; } };
         } else {
             Union ret2 = new Union("\""+s+"\"_str", true) {
                     public String toString() { return escapified; } };
             Element[] refs = new Element[s.length()];
-            for(int i=0; i<refs.length; i++) refs[i] = new CharRange(s.charAt(i));
+            for(int i=0; i<refs.length; i++) refs[i] = new CharAtom(s.charAt(i));
             ret2.add(Sequence.constant(refs, s));
             ret = ret2;
         }
index 0d9052c..3dd0879 100644 (file)
@@ -285,7 +285,7 @@ public class MetaGrammarBindings extends AnnotationGrammarBindings {
     }
 
     public static class Literal extends Constant {
-        public @bind Literal(@bind.arg String string) { super(CharRange.string(string)); }
+        public @bind Literal(@bind.arg String string) { super(CharAtom.string(string)); }
         public boolean drop() { return true; }
     }
 
@@ -296,7 +296,7 @@ public class MetaGrammarBindings extends AnnotationGrammarBindings {
             edu.berkeley.sbp.util.Range.Set set = new edu.berkeley.sbp.util.Range.Set();
             for(Range r : ranges)
                 set.add(r.first, r.last);
-            return CharRange.set(set);
+            return CharAtom.set(set);
         }
     }
 
@@ -307,11 +307,11 @@ public class MetaGrammarBindings extends AnnotationGrammarBindings {
             Sequence s = body.build(cx, u, false, null);
             Union u2 = new Union();
             u2.add(Sequence.singleton(new Element[] {
-                CharRange.leftBrace,
+                CharAtom.leftBrace,
                 cx.get("ws"),
                 u,
                 cx.get("ws"),
-                CharRange.rightBrace
+                CharAtom.rightBrace
             }, 2));
             return u2;
         }
@@ -355,7 +355,7 @@ public class MetaGrammarBindings extends AnnotationGrammarBindings {
 
     public static @bind.as("^")   ElementNode caret(final String s) {
         final String thePrefix = prefix;
-        return new Constant(CharRange.string(s)) {
+        return new Constant(CharAtom.string(s)) {
                 public String getOwnerTag() { return thePrefix+s; }
                 public boolean drop() { return true; }
             };
@@ -364,7 +364,7 @@ public class MetaGrammarBindings extends AnnotationGrammarBindings {
     public static @bind.as("~")   ElementNode tilde(final ElementNode e) {
         return new PostProcess(e) {
                 public Element postProcess(Element e) {
-                    return infer((Topology<Character>)Atom.toAtom(e).complement().minus(CharRange.braces));
+                    return infer((Topology<Character>)Atom.toAtom(e).complement().minus(CharAtom.braces));
                 } }; }
 
     public static @bind.as("Word")        String word(String s) { return s; }
@@ -375,7 +375,7 @@ public class MetaGrammarBindings extends AnnotationGrammarBindings {
     public static @bind.as("\r")          String lf() { return "\r"; }
 
     static Atom infer(Element e)  { return infer((Topology<Character>)Atom.toAtom(e)); }
-    static Atom infer(Topology<Character> t) { return new CharRange(new CharTopology(t)); }
+    static Atom infer(Topology<Character> t) { return new CharAtom(new CharTopology(t)); }
 
     public static class Context {
         public HashMap<String,Union> map = new HashMap<String,Union>();
index 64acbbf..0237e64 100644 (file)
@@ -45,8 +45,8 @@ public class Tib implements Input<Character> {
     public Input.Location getLocation() { return new Cartesian.Location(_col, _row); }
     private BufferedReader br;
 
-    char left = CharRange.left;
-    char right = CharRange.right;
+    char left = CharAtom.left;
+    char right = CharAtom.right;
 
     boolean waiting = false;
     char waitingChar = ' ';
@@ -149,11 +149,11 @@ public class Tib implements Input<Character> {
                 u2.add(Sequence.singleton(new Element[] { u }, 0));
                 return anonymousNonTerminal(new Sequence[][] {
                     new Sequence[] {
-                        Sequence.singleton(new Element[] { CharRange.leftBrace,
+                        Sequence.singleton(new Element[] { CharAtom.leftBrace,
                                                            ws,
                                                            u2,
                                                            ws,
-                                                           CharRange.rightBrace
+                                                           CharAtom.rightBrace
                         }, 2)
                     }
                 });