checkpoint
[sbp.git] / src / edu / berkeley / sbp / misc / MetaGrammar.java
index 24d3a46..f628813 100644 (file)
@@ -264,8 +264,11 @@ public class MetaGrammar extends StringWalker {
                 for(Sequence s : not) ret = ret.not(s);
             }
             else if (unwrap)    ret = new Sequence.Unwrap(expansion, drops, and, not);
-            else if (tag!=null) ret = Sequence.rewritingSequence(tag, expansion, drops, and, not);
-            else {
+            else if (tag!=null) {
+                ret = Sequence.rewritingSequence(tag, expansion, drops);
+                for(Sequence s : and) ret = ret.and(s);
+                for(Sequence s : not) ret = ret.not(s);
+            } else {
                 int idx = -1;
                 for(int i=0; i<expansion.length; i++)
                     if (!drops[i])