X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Fedu%2Fberkeley%2Fsbp%2Fmisc%2FMetaGrammar.java;h=e4592a84da21baea38c3151752e19696f80fb40b;hb=5d3efb18a5ac20129a699102fa0099b98b558874;hp=f628813239a55a051b55dc89ad36cdc7c35326bc;hpb=72a191a1440fcdc484700238e8be1384ccc56e06;p=sbp.git diff --git a/src/edu/berkeley/sbp/misc/MetaGrammar.java b/src/edu/berkeley/sbp/misc/MetaGrammar.java index f628813..e4592a8 100644 --- a/src/edu/berkeley/sbp/misc/MetaGrammar.java +++ b/src/edu/berkeley/sbp/misc/MetaGrammar.java @@ -258,17 +258,10 @@ public class MetaGrammar extends StringWalker { } Element[] expansion = o2; Sequence ret = null; - if (dropAll || lame) { - ret = Sequence.drop(expansion, lame); - for(Sequence s : and) ret = ret.and(s); - for(Sequence s : not) ret = ret.not(s); - } - else if (unwrap) ret = new Sequence.Unwrap(expansion, drops, and, not); - else if (tag!=null) { - ret = Sequence.rewritingSequence(tag, expansion, drops); - for(Sequence s : and) ret = ret.and(s); - for(Sequence s : not) ret = ret.not(s); - } else { + if (dropAll || lame) ret = Sequence.drop(expansion, lame); + else if (unwrap) ret = new Sequence.Unwrap(expansion, drops); + else if (tag!=null) ret = Sequence.rewritingSequence(tag, expansion, drops); + else { int idx = -1; for(int i=0; i