X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fmeta%2FRepeat.java;h=0ea201d68ca3adc71a56d9e2be71f4cebb8590a4;hp=680b63699f0677dd842d079af911c134e8bbd86c;hb=9b031db4cefc550c82a8bb6da3b061d3790c2cdc;hpb=4378d20232cd88fb2a57edc5a5114f952ab58a18 diff --git a/src/edu/berkeley/sbp/meta/Repeat.java b/src/edu/berkeley/sbp/meta/Repeat.java index 680b636..0ea201d 100644 --- a/src/edu/berkeley/sbp/meta/Repeat.java +++ b/src/edu/berkeley/sbp/meta/Repeat.java @@ -18,21 +18,21 @@ public class Repeat extends Union { protected Repeat(final Element e, boolean zeroOkay, boolean manyOkay, final Element separator, boolean maximal, Object tag, Atom follow) { super(e+(!manyOkay ? "?" : (zeroOkay ? (maximal ? "**" : "*") : (maximal ? "++" : "+")))+(separator==null?"":("/"+separator)), true); if (zeroOkay && !manyOkay) { - add(Sequence.newEmptySequence().followedBy(follow)); - add(Sequence.newSingletonSequence(e).followedBy(follow)); + add(Sequence.create().followedBy(follow)); + add(Sequence.create(e).followedBy(follow)); return; } if (zeroOkay) { - add(Sequence.newRewritingSequence(tag, new Element[] { }, null).followedBy(follow)); + add(Sequence.create(tag, new Element[] { }, null, false).followedBy(follow)); //add(new Sequence.Constant.Empty()); // FUGLY - add(Sequence.newSingletonSequence(many1(e, separator, tag)).followedBy(follow)); + add(Sequence.create(many1(e, separator, tag)).followedBy(follow)); } else { - add(Sequence.newRewritingSequence(tag, new Element[] { e }, null).followedBy(follow)); + add(Sequence.create(tag, new Element[] { e }, null, false).followedBy(follow)); if (separator==null) - add(Sequence.newUnwrapSequence(new Element[] { e, Repeat.this }, tag, new boolean[] { false, false }).followedBy(follow)); + add(Sequence.create(tag, new Element[] { e, Repeat.this }, new boolean[] { false, false }, true).followedBy(follow)); else - add(Sequence.newUnwrapSequence(new Element[] { e, separator, Repeat.this }, tag, new boolean[] { false, true, false }).followedBy(follow)); + add(Sequence.create(tag, new Element[] { e, separator, Repeat.this }, new boolean[] { false, true, false }, true).followedBy(follow)); } }