checkpoint
[sbp.git] / src / edu / berkeley / sbp / misc / MetaGrammar.java
index c563ce5..9f67307 100644 (file)
@@ -150,6 +150,7 @@ public class MetaGrammar extends StringWalker {
         else if ("psy".equals(head)) return (PreSequence)walk(tree, 0);
         else if ("->".equals(head)) { PreSequence p = (PreSequence)walk(tree, 0); p.noFollow = (Element)walk(tree, 1); return p; }
         else if ("/".equals(head)) return ((PreSequence)walk(tree, 0)).sparse((Element)walk(tree, 1));
+        else if (" /".equals(head)) return ((PreSequence)walk(tree, 0)).sparse((Element)walk(tree, 1));
         else if ("~".equals(head)) return new Hack(new Atom.Invert(new Atom.Infer((Element)walk(tree, 0))));
         else if ("ps".equals(head)) return new PreSequence((Object[])walk(tree,0), null);
         else if (":".equals(head)) {
@@ -276,8 +277,8 @@ public class MetaGrammar extends StringWalker {
                     } else {
                         if (keeping) drops[i] = true;
                     }
-                    if (oi==SELF)                    o2[j] = u.new Subset("(("+u+"))", set);
-                    else                             o2[j] = (Element)oi;
+                    /*if (oi==SELF)                    o2[j] = u.new Subset("(("+u+"))", set);
+                      else*/                             o2[j] = (Element)oi;
 
                     if (MetaGrammar.dropAll.contains(o2[j])) drops[j] = true;
                     nonDrop += drops[j] ? 0 : 1;