From: adam Date: Sun, 9 Sep 2007 19:13:05 +0000 (-0400) Subject: add first-class zero-or-more repetitions X-Git-Url: http://git.megacz.com/?p=sbp.git;a=commitdiff_plain;h=76f27476f16ddd19a42199b341fab81e87817b52 add first-class zero-or-more repetitions darcs-hash:20070909191305-5007d-927c136b9357a9190011710203e80e6258c66720.gz --- diff --git a/src/edu/berkeley/sbp/meta/Repeat.java b/src/edu/berkeley/sbp/meta/Repeat.java index a97eb38..800639b 100644 --- a/src/edu/berkeley/sbp/meta/Repeat.java +++ b/src/edu/berkeley/sbp/meta/Repeat.java @@ -41,9 +41,12 @@ class Repeat extends Union { add(Sequence.create(tag, new Element[] { }, null).followedBy(follow)); if (!(zeroOkay && manyOkay)) add(Sequence.create(tag, new Element[] { e }, null).followedBy(follow)); - if (zeroOkay && manyOkay) + + // FEATURE: stringify ~[]* as ... + if (zeroOkay && manyOkay && separator!=null) { add(Sequence.create(many1(e, separator, tag)).followedBy(follow)); - if (!zeroOkay && manyOkay) { + + } else if (manyOkay) { if (separator==null) add(Sequence.create(tag, new Element[] { Repeat.this, e },