X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fmisc%2FMetaGrammar.java;h=b2db78ec1ac03563b2b0622953c96af5aa689fcd;hb=e4b4b7b0da38d93fc9160b0058a81c1fc7f6773b;hp=748bcf37566e4890be37838b92f90bf534c56b60;hpb=f7dc68eeb40878c12463fc1ed2b4351b2a9fe261;p=sbp.git diff --git a/src/edu/berkeley/sbp/misc/MetaGrammar.java b/src/edu/berkeley/sbp/misc/MetaGrammar.java index 748bcf3..b2db78e 100644 --- a/src/edu/berkeley/sbp/misc/MetaGrammar.java +++ b/src/edu/berkeley/sbp/misc/MetaGrammar.java @@ -15,7 +15,7 @@ public class MetaGrammar extends StringWalker { return ret.toString(); } - private static HashSet dropAll = new HashSet(); + public /*private*/ static HashSet dropAll = new HashSet(); // Statics ////////////////////////////////////////////////////////////////////////////// @@ -44,6 +44,8 @@ public class MetaGrammar extends StringWalker { startSymbol = str; nt = new HashMap(); dropAll = new HashSet(); + dropAll.add(leftBrace); + dropAll.add(rightBrace); nt.put(str, g); return ret; } @@ -51,6 +53,7 @@ public class MetaGrammar extends StringWalker { // MetaGrammar ////////////////////////////////////////////////////////////////////////////// + public Union nonTerminal(String str) { return nonTerminal(str, null, false, false); } public Union nonTerminal(String str, PreSequence[][] s, boolean synthetic, boolean dropAll) { Union n = str.equals(startSymbol) ? g : nt.get(str); if (n == null) nt.put(str, n = new Union(str, synthetic)); @@ -226,11 +229,12 @@ public class MetaGrammar extends StringWalker { else if (tag!=null) ret = Sequence.rewritingSequence(tag, expansion, drops, and, not); else { int idx = -1; - for(int i=0; i