checkpoint
[sbp.git] / src / edu / berkeley / sbp / misc / MetaGrammar.java
index dd94368..0b70878 100644 (file)
@@ -16,7 +16,7 @@ public class MetaGrammar extends ReflectiveWalker {
     }
 
     // FIXME
-    private static HashSet<Union> dropAll = new HashSet<Union>();
+    private static HashSet<Element> dropAll = new HashSet<Element>();
 
     // Statics //////////////////////////////////////////////////////////////////////////////
 
@@ -78,7 +78,6 @@ public class MetaGrammar extends ReflectiveWalker {
         }
         return ret;
     }
-    //public Element _tilde__slash__tilde_(final Element r) { return Repeat.maximal(r); }
     public Object _plus__slash_(final Element r, Object s) {
         if (s instanceof String) s = CharToken.string((String)s);
         return new Rep(r, (Element)s, false, false);
@@ -87,7 +86,6 @@ public class MetaGrammar extends ReflectiveWalker {
         if (s instanceof String) s = CharToken.string((String)s);
         return new Rep(r, (Element)s, false, true);
     }
-    //public Element _star__slash_(final Element r, Element s) { return Repeat.many0(r, s); }
     public Object _star__star_(final Element r) { return new Rep(r, null, true, true); }
     public Object _plus__plus_(final Element r) { return new Rep(r, null, true, false); }
     public Element _question_(final Element r) { return Repeat.maybe(r); }
@@ -96,8 +94,14 @@ public class MetaGrammar extends ReflectiveWalker {
     public MetaGrammar grammar(Object o, Union[] u, Object x) { return this; }
     public char    _backslash_n() { return '\n'; }
     public char    _backslash_r() { return '\r'; }
-    public String  literal(String s) { return s; }
-    //public Element  literal(String s)    { return CharToken.string(s); }
+    //public String  literal(String s) { return s; }
+
+    public Object literal(String s) {
+        Element e = CharToken.string(s);
+        return new MyDrop(e);
+        //dropAll.add(e);
+        //return e;
+    }
 
     public Range     range0(char a)         { return new Range(a, a); }
     public Range     range0(char a, char b) { return new Range(a, b); }
@@ -169,6 +173,7 @@ public class MetaGrammar extends ReflectiveWalker {
         g = new Union(str);
         startSymbol = str;
         nt = new HashMap<String,Union>();
+        dropAll = new HashSet<Element>();
         nt.put(str, g);
         this.dws = Repeat.maximal(Repeat.many0(nonTerminalY("w")));
         return ret;
@@ -361,6 +366,9 @@ public class MetaGrammar extends ReflectiveWalker {
 
 
 
+
+
+
         // DO NOT EDIT STUFF BELOW: IT IS AUTOMATICALLY GENERATED
 new Tree(null, "gram", new Tree[] { new Tree(null, null, new Tree[] { }),
         new Tree(null, "grammar", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "::=", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "s", new Tree[] { })})}),
@@ -945,3 +953,6 @@ new Tree(null, "gram", new Tree[] { new Tree(null, null, new Tree[] { }),
 
 
 
+
+
+