group[j].build(cx, u2, cnt);
}
if (sequences.length==1) break;
- Sequence seq = Sequence.newSingletonSequence(u2);
- for(Sequence s : bad2) seq = seq.not(s);
+ Sequence seq = Sequence.create(u2);
+ for(Sequence s : bad2) seq = seq.andnot(s);
u.add(seq);
- bad2.add(Sequence.newSingletonSequence(u2));
+ bad2.add(Sequence.create(u2));
}
}
}
HashSet<Sequence> bad2 = new HashSet<Sequence>();
Union urep = new Union(null, false);
- urep.add(Sequence.newEmptySequence());
+ urep.add(Sequence.create());
if (sep != null)
- urep.add(Sequence.newSingletonSequence(new Element[] { cx.get(sep), u }, 1));
+ urep.add(Sequence.create(new Element[] { cx.get(sep), u }, 1));
else
- urep.add(Sequence.newSingletonSequence(new Element[] { u }, 0));
+ urep.add(Sequence.create(new Element[] { u }, 0));
for(int i=0; i<sequences.length; i++) {
Seq[] group = sequences[i];
for(int j=0; j<group.length; j++) {
Union u3 = new Union(null, false);
group[j].build(cx, u3, this);
- Sequence s = Sequence.newUnwrapSequence(new Element[] { u3, urep },
- cx.rm.repeatTag(),
- new boolean[] { false, false });
+ Sequence s = Sequence.create(cx.rm.repeatTag(),
+ new Element[] { u3, urep },
+ new boolean[] { false, false },
+ true);
u2.add(s);
}
if (sequences.length==1) break;
- Sequence seq = Sequence.newSingletonSequence(u2);
- for(Sequence s : bad2) seq = seq.not(s);
+ Sequence seq = Sequence.create(u2);
+ for(Sequence s : bad2) seq = seq.andnot(s);
u.add(seq);
- bad2.add(Sequence.newSingletonSequence(u2));
+ bad2.add(Sequence.create(u2));
}
}
}
public Sequence build(Context cx, Union u, NonTerminalNode cnt) {
Sequence ret = build0(cx, cnt);
for(Seq s : and) { Sequence dork = s.build(cx, u, cnt); ret = ret.and(dork); }
- for(Seq s : not) { Sequence dork = s.build(cx, u, cnt); ret = ret.not(dork); }
+ for(Seq s : not) { Sequence dork = s.build(cx, u, cnt); ret = ret.andnot(dork); }
u.add(ret);
return ret;
}
for(int i=0; i<els.length; i++)
if (!drops[i])
if (idx==-1) idx = i;
- else throw new Error("multiple non-dropped elements in sequence: " + Sequence.newDropSequence(els));
- if (idx != -1) ret = Sequence.newSingletonSequence(els, idx);
- else ret = Sequence.newDropSequence(els);
+ else throw new Error("multiple non-dropped elements in sequence: " + Sequence.create(els, null));
+ if (idx != -1) ret = Sequence.create(els, idx);
+ else ret = Sequence.create(els, null);
}
if (this.follow != null)
ret = ret.followedBy(this.follow.toAtom(cx));
public static @bind.as("()") ElementNode epsilon() { return new Constant(epsilon); }
private static Union epsilon = new Union("()");
- static { epsilon.add(Sequence.newEmptySequence()); }
+ static { epsilon.add(Sequence.create()); }
public static class NonTerminalReferenceNode extends ElementNode {
public String nonTerminal;
Union u = new Union(null, false);
Sequence s = body.build(cx, u, null);
Union u2 = new Union(null, false);
- u2.add(Sequence.newSingletonSequence(new Element[] {
+ u2.add(Sequence.create(new Element[] {
CharAtom.leftBrace,
cx.get("ws"),
u,