X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Fedu%2Fberkeley%2Fsbp%2Fmeta%2FMetaGrammarBindings.java;h=e7c8b4ff47a1c83518a0b674430fe36c52a12413;hb=0632bba5da482b2c39e6959e449259bd6725c213;hp=c7952b0beebb46e4d1aa80d0c5ef7a2cd5cbae55;hpb=0dd3f65037405b4a9dd03d1825b30a6557433892;p=sbp.git diff --git a/src/edu/berkeley/sbp/meta/MetaGrammarBindings.java b/src/edu/berkeley/sbp/meta/MetaGrammarBindings.java index c7952b0..e7c8b4f 100644 --- a/src/edu/berkeley/sbp/meta/MetaGrammarBindings.java +++ b/src/edu/berkeley/sbp/meta/MetaGrammarBindings.java @@ -14,7 +14,7 @@ public class MetaGrammarBindings { // FIXME ugly ugly ugly scary dangerous public static String prefix = ""; - + /** A grammar (a set of nonterminals) */ public static class GrammarNode extends HashMap implements NonTerminalSource { public NonTerminalNode[] getNonTerminals() { @@ -92,7 +92,7 @@ public class MetaGrammarBindings { System.err.println("#import " + fileName + " as " + as); try { - Tree t = new CharParser(MetaGrammar.make()).parse(new FileInputStream(fileName)).expand1(); + Tree t = new CharParser(MetaGrammar.newInstance()).parse(new FileInputStream("tests/"+fileName)).expand1(); Tree.TreeFunctor red = (Tree.TreeFunctor)t.head(); String oldprefix = prefix; prefix = as; @@ -261,7 +261,8 @@ public class MetaGrammarBindings { Sequence ret = null; if (dropAll) ret = Sequence.drop(els, false); else { - ret = cx.rm.tryResolveTag(tag, cnt==null?null:cnt.name, els, drops); + Production prod = new Production(tag, (cnt==null?null:cnt.name), els, drops); + ret = cx.rm.tryResolveTag(prod); if (ret == null) { int idx = -1; for(int i=0; i