checkpoint
[sbp.git] / src / edu / berkeley / sbp / misc / MetaGrammar.java
index f1c7075..3f2ffc7 100644 (file)
@@ -302,9 +302,11 @@ public class MetaGrammar extends StringWalker {
                 public MetaClause element, separator;
                 public boolean maximal, zero, many;
                 public Element build(BuildContext bc) {
-                    return maximal
-                        ? new Repeat.Maximal(element.build(bc), zero, many, separator==null?null:separator.build(bc), null)
-                        : new Repeat(element.build(bc), zero, many, separator==null?null:separator.build(bc), null);
+                    return !maximal
+                        ? new Repeat(element.build(bc), zero, many, separator==null?null:separator.build(bc), null)
+                        : separator==null
+                              ? new Repeat.Maximal(element.build(bc), zero, many, null)
+                        : new Repeat.Maximal(element.build(bc), zero, many, separator.build(bc), null);
                 }
                 public MetaRepeat(MetaClause element, boolean maximal, MetaClause separator, boolean zero, boolean many) {
                     this.separator = separator;