-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.*;
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); }
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;
}
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;
}