X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fmeta%2FMetaGrammar.java;fp=src%2Fedu%2Fberkeley%2Fsbp%2Fmisc%2FMetaGrammar.java;h=2e5fd95dc6a50bcceb5cdad317920eb53b04fab4;hp=2917f7be4f98fe2864a720f3de3aa52cb7f82b06;hb=54a6a6e983c3883720b22fe0bef998d309f92097;hpb=f8dec42308b5eb1196db5bf56bb2f5426b4a76af diff --git a/src/edu/berkeley/sbp/misc/MetaGrammar.java b/src/edu/berkeley/sbp/meta/MetaGrammar.java similarity index 97% rename from src/edu/berkeley/sbp/misc/MetaGrammar.java rename to src/edu/berkeley/sbp/meta/MetaGrammar.java index 2917f7b..2e5fd95 100644 --- a/src/edu/berkeley/sbp/misc/MetaGrammar.java +++ b/src/edu/berkeley/sbp/meta/MetaGrammar.java @@ -1,7 +1,8 @@ -package edu.berkeley.sbp.misc; +package edu.berkeley.sbp.meta; import edu.berkeley.sbp.util.*; import edu.berkeley.sbp.*; import edu.berkeley.sbp.chr.*; +import edu.berkeley.sbp.misc.*; import edu.berkeley.sbp.bind.*; import java.util.*; import java.lang.annotation.*; @@ -168,11 +169,8 @@ public class MetaGrammar { public Target(Bindable b) { this._bindable = b; } public String getName() { return _bindable.getSimpleName(); } - public bind getBind() { - return (bind)_bindable.getAnnotation(bind.class); } - public bind.as getBindAs() { - return (bind.as)_bindable.getAnnotation(bind.as.class); } - //public nonterminal getNonTerminal() { return (nonterminal)_bindable.getAnnotation(bind.as.class); } + public bind getBind() { return (bind)_bindable.getAnnotation(bind.class); } + public bind.as getBindAs() { return (bind.as)_bindable.getAnnotation(bind.as.class); } public String toString() { return _bindable.getSimpleName(); } public boolean isRaw() { return _bindable.isAnnotationPresent(bind.raw.class); } @@ -316,8 +314,7 @@ public class MetaGrammar { public static @bind class Grammar { public NonTerminal get(String s) { for(NonTerminal nt : nonterminals) - if (nt.name.equals(s)) - return nt; + if (nt.name.equals(s)) return nt; return null; } public @bind.arg NonTerminal[] nonterminals; @@ -351,8 +348,8 @@ public class MetaGrammar { } public static class NonTerminal extends Un { public String name = null; - public @bind.as("NonTerminal") NonTerminal(@bind.arg("Word") String name, - @bind.arg("RHS") Seq[][] sequences) { + public @bind NonTerminal(@bind.arg("Word") String name, + @bind.arg("RHS") Seq[][] sequences) { this.name = name; this.sequences = sequences; }