checkpoint
authoradam <adam@megacz.com>
Wed, 14 Dec 2005 05:45:08 +0000 (00:45 -0500)
committeradam <adam@megacz.com>
Wed, 14 Dec 2005 05:45:08 +0000 (00:45 -0500)
darcs-hash:20051214054508-5007d-c71630521be8015eaef0cd3275f0f8696c79385c.gz

src/edu/berkeley/sbp/misc/MetaGrammar.java
tests/meta.g

index 0360dca..ebb4ddc 100644 (file)
@@ -31,7 +31,6 @@ public class MetaGrammar extends ReflectiveWalker {
     public Union       _colon__colon__equals_(String s, PreSequence[][] p)            { return nonTerminalZ(s, p); }
     public Union       _bang__colon__colon__equals_(String s, PreSequence[][] p)      { return nonTerminalZ(s, p, true); }
     public Union       _colon__colon__equals_(boolean q, String s, PreSequence[][] p) { return nonTerminalZ(s, p, q); }
-    public Element     _leftparen__rightparen_()                                      { return epsilon; }
     public Element     epsilon(Object o, Object b)                                    { return epsilon; }
     public Element     _rightparen_(Object e)                                         { return SELF; }
 
@@ -46,6 +45,8 @@ public class MetaGrammar extends ReflectiveWalker {
 
     public Element     _bang_(Element r)                       { return r; }
     public Object      care(String s)                          { return new MyLift(s); }
+    public Object      _caret_(String s)                       { return new MyLift(s); }
+    public Object      _leftparen__rightparen_()               { return epsilon; }
     //public Element     _backtick_(Element r)                   { return new Unwrap(r); }
     //public Element     _hash_(Element e)                       { return e; }
     //public Element     _hash_(Element e)                       { return _plus__plus_(e); }
index 975e855..6c41102 100644 (file)
@@ -41,7 +41,7 @@ e        ::= word                             => "nonTerminalY"
            |  e ^"-"  e                 /ws
 
            |    ^"!" e                  /ws
-           |     "^" quoted             /ws => "care"
+           |    "^" quoted             /ws => "care"
            |    ^"`" e                  /ws
            |  e ^"#"                    /ws
            |  quoted                        => "literal"