}
public static class Maximal extends Repeat {
- public Maximal(final Element e, boolean zeroOkay, boolean manyOkay, final Element separator, Object tag) {
+ public Maximal(final Element e, boolean zeroOkay, boolean manyOkay, final Atom separator, Object tag) {
super(e, zeroOkay, manyOkay, separator, true, tag);
if (zeroOkay && separator != null)
throw new RuntimeException("cannot create a maximal repetition of zero or more items with a separator (yet): " + this);
for(Sequence s : this)
- s.follow = new edu.berkeley.sbp.misc.MetaGrammar.Invert(new edu.berkeley.sbp.misc.MetaGrammar.Infer(separator));
+ s.follow = new edu.berkeley.sbp.misc.MetaGrammar.Invert(separator);
}
- public Maximal(final Element e, boolean zeroOkay, boolean manyOkay, Object tag) {
+ public Maximal(final Atom e, boolean zeroOkay, boolean manyOkay, Object tag) {
super(e, zeroOkay, manyOkay, null, true, tag);
for(Sequence s : this)
- s.follow = new edu.berkeley.sbp.misc.MetaGrammar.Invert(new edu.berkeley.sbp.misc.MetaGrammar.Infer(e));
+ s.follow = new edu.berkeley.sbp.misc.MetaGrammar.Invert(e);
}
}