checkpoint
[sbp.git] / src / edu / berkeley / sbp / misc / MetaGrammar.java
index 6eab9ed..889e2bc 100644 (file)
@@ -33,11 +33,10 @@ public class MetaGrammar extends ReflectiveWalker {
     private String startSymbol;
     private boolean strings;
 
     private String startSymbol;
     private boolean strings;
 
-    private Element  set(Range.Set r) { return CharToken.set(r); }
-    private Element  string(String s) { return CharToken.string(s); }
-    private Topology top()            { return CharToken.top(); }
-    private Atom     leftBrace()      { return CharToken.leftBrace; }
-    private Atom     rightBrace()     { return CharToken.rightBrace; }
+    private Element  set(Range.Set r) { if (strings) throw new Error(); return CharToken.set(r); }
+    private Element  string(String s) { return strings ? StringToken.string(s) : CharToken.string(s); }
+    private Atom     leftBrace()      { return strings ? StringToken.leftBrace : CharToken.leftBrace; }
+    private Atom     rightBrace()     { return strings ? StringToken.rightBrace : CharToken.rightBrace; }
 
     public MetaGrammar() { this("s", false); }
     public MetaGrammar(String s) { this(s, false); }
 
     public MetaGrammar() { this("s", false); }
     public MetaGrammar(String s) { this(s, false); }