fr.umlv.tatoo.cc.ebnf.ast
Class NonTerminalDefAST
java.lang.Object
fr.umlv.tatoo.cc.ebnf.ast.NonTerminalDefAST
- All Implemented Interfaces:
- BindingSite, NodeAST, NonTerminalBinder, TreeAST
public class NonTerminalDefAST
- extends Object
- implements NonTerminalBinder, BindingSite
getKind
public Kind getKind()
- Specified by:
getKind
in interface NodeAST
- Specified by:
getKind
in interface TreeAST
getTokenId
public TokenAST<String> getTokenId()
- Specified by:
getTokenId
in interface BindingSite
- Returns:
- may be null.
getName
public String getName()
getType
public TypeVarAST getType()
getProductions
public List<ProductionDefAST> getProductions()
setBinding
public void setBinding(Binding.NonTerminalBinding binding)
getBinding
public Binding.NonTerminalBinding getBinding()
- Returns null by default.
- Specified by:
getBinding
in interface NodeAST
- Specified by:
getBinding
in interface NonTerminalBinder
accept
public <R,P,E extends Exception> R accept(TreeASTVisitor<? extends R,? super P,? extends E> visitor,
P parameter)
throws E extends Exception
- Specified by:
accept
in interface TreeAST
- Throws:
E extends Exception
isToken
public boolean isToken()
- Specified by:
isToken
in interface TreeAST
treeList
public List<TreeAST> treeList()
- Specified by:
treeList
in interface NodeAST
toString
public String toString()
- Overrides:
toString
in class Object
nodeList
public List<NodeAST> nodeList()
- Specified by:
nodeList
in interface NodeAST
getAST
public AST getAST()
- Specified by:
getAST
in interface TreeAST
getParent
public NodeAST getParent()
- Specified by:
getParent
in interface TreeAST
setParent
protected void setParent(NodeAST parent)
getAttribute
public final <A> A getAttribute(Class<A> attributeType)
- Specified by:
getAttribute
in interface TreeAST
setAttribute
public final <A> void setAttribute(Class<A> attributeType,
A attribute)
- Specified by:
setAttribute
in interface TreeAST