+ 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 Invert(separator);
+ }
+ 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 Invert(e);