X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fmeta%2FMetaGrammarBindings.java;h=1a60610cac41aaab4f0556079d329b3d7984e0d1;hb=a2008a0c57702f49ed7f8be682e4e29484fded38;hp=b0b86da4b86b33be7aaaeed99290b0d3029eada2;hpb=fb8694140dd9736855795e64a9bd4c3d50f7f2ea;p=sbp.git diff --git a/src/edu/berkeley/sbp/meta/MetaGrammarBindings.java b/src/edu/berkeley/sbp/meta/MetaGrammarBindings.java index b0b86da..1a60610 100644 --- a/src/edu/berkeley/sbp/meta/MetaGrammarBindings.java +++ b/src/edu/berkeley/sbp/meta/MetaGrammarBindings.java @@ -225,9 +225,9 @@ public class MetaGrammarBindings extends AnnotationGrammarBindings { } 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.andnot(dork); } - u.add(ret); + for(Seq s : and) { Sequence dork = s.build(cx, null, cnt); ret = ret.and(dork); } + for(Seq s : not) { Sequence dork = s.build(cx, null, cnt); ret = ret.andnot(dork); } + if (u!=null) u.add(ret); return ret; } public Sequence build0(Context cx, NonTerminalNode cnt) {