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)) {
} 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;