Repeat(final Element e, boolean zeroOkay, boolean manyOkay) { this(e, zeroOkay, manyOkay, null); }
Repeat(final Element e, boolean zeroOkay, boolean manyOkay, Element separator) {
- super(e+(!manyOkay ? "?" : (zeroOkay ? "*" : "+")), true);
+ super(e+(!manyOkay ? "?" : (zeroOkay ? "*" : "+"))+(separator==null?"":("/"+separator.toString())), true);
this.e = e;
this.zeroOkay = zeroOkay;
this.manyOkay = manyOkay;
static class MaximalSequence extends Sequence.Singleton {
private final Element e;
- public String toString() { return e+"@";}
- public MaximalSequence(Element e) { super(e, null, null); this.e = e; }
+ public String toString() { return e+"@"; }
+ public Topology noFollow() { return e.toAtom(); }
+ public MaximalSequence(Element e) {
+ super(e, null, null);
+ this.e = e;
+ }
}
static class Maximal extends Union {
public Maximal(final Element e) {