fr.umlv.tatoo.cc.ebnf.ast
Class TreeFactory

java.lang.Object
  extended by fr.umlv.tatoo.cc.ebnf.ast.TreeFactory

public class TreeFactory
extends Object


Constructor Summary
TreeFactory(AST ast, AnnotationComputer annotationComputer)
           
 
Method Summary
 fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<AliasDefAST> createAliasDef(TokenAST<String> name)
           
 fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<DirectiveDefAST> createDirectiveDef(TokenAST<String> name)
           
 fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<EnhancedDefAST> createEnhancedVariable(EnhancedDefAST.Enhancement enhancement, VariableVarAST element, VariableVarAST separator, List<NodeAST> vargroup)
           
 fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<ImportDefAST> createImportDef(TokenAST<String> qualifiedId)
           
 fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<MacroDefAST> createMacroDef(TokenAST<String> name, String regex)
           
 fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<NonTerminalDefAST> createNonTerminalDef(TokenAST<String> name, TypeVarAST type, List<ProductionDefAST> productions)
           
 fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<PriorityDefAST> createPriorityDef(TokenAST<String> name, double number, String assoc)
           
 fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<PriorityVarAST> createPriorityVar(TokenAST<String> name)
           
 fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<ProductionDefAST> createProductionDef(List<NodeAST> varlist, PriorityVarAST priority, ProductionIdAndVersionDefAST idAndVersion)
           
 fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<ProductionIdAndVersionDefAST> createProductionIdAndVersionDef(TokenAST<String> name, VersionVarAST version)
           
 fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<QuotedIdVarAST> createQuotedIdVar(TokenAST<String> name)
           
 fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<RootDefAST> createRootDef(StartNonTerminalSetDefAST startNonTerminalSetDef)
           
 fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<RuleDefAST> createRuleDef(TokenAST<String> name, String regex)
           
<V> fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<SimpleNodeAST<V>>
createSimpleNode(Kind kind, V value)
           
 fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<StartNonTerminalSetDefAST> createStartNonTerminalSetDef(List<UnquotedIdVarAST> startNonTerminalList)
           
 fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<TerminalDefAST> createTerminalDef(TerminalDefAST.TerminalKind kind, TokenAST<String> name, AliasDefAST alias, TypeVarAST type, RuleDefAST rule, PriorityVarAST priority)
           
<V> TokenAST<V>
createToken(fr.umlv.tatoo.cc.lexer.ebnf.parser.TerminalEnum kind, V value)
           
 fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<TypeVarAST> createTypeVar(TokenAST<String> qualifiedid)
           
 fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<UnquotedIdVarAST> createUnquotedIdVar(TokenAST<String> name)
           
 fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<VariableTypeDefAST> createVariableTypeDef(VariableVarAST variable, TypeVarAST type)
           
 fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<VersionDefAST> createVersionDef(TokenAST<String> name, VersionVarAST parent)
           
 fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<VersionVarAST> createVersionVar(TokenAST<String> name)
           
 AnnotationComputer getAnnotationComputer()
           
 void reset(AST ast)
           
 void setRoot(fr.umlv.tatoo.cc.ebnf.ast.AbstractNodeAST root)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TreeFactory

public TreeFactory(AST ast,
                   AnnotationComputer annotationComputer)
Method Detail

reset

public void reset(AST ast)

getAnnotationComputer

public AnnotationComputer getAnnotationComputer()

setRoot

public void setRoot(fr.umlv.tatoo.cc.ebnf.ast.AbstractNodeAST root)

createToken

public <V> TokenAST<V> createToken(fr.umlv.tatoo.cc.lexer.ebnf.parser.TerminalEnum kind,
                                   V value)

createSimpleNode

public <V> fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<SimpleNodeAST<V>> createSimpleNode(Kind kind,
                                                                                    V value)

createProductionIdAndVersionDef

public fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<ProductionIdAndVersionDefAST> createProductionIdAndVersionDef(TokenAST<String> name,
                                                                                                           VersionVarAST version)

createEnhancedVariable

public fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<EnhancedDefAST> createEnhancedVariable(EnhancedDefAST.Enhancement enhancement,
                                                                                    VariableVarAST element,
                                                                                    VariableVarAST separator,
                                                                                    List<NodeAST> vargroup)

createImportDef

public fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<ImportDefAST> createImportDef(TokenAST<String> qualifiedId)

createMacroDef

public fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<MacroDefAST> createMacroDef(TokenAST<String> name,
                                                                         String regex)

createNonTerminalDef

public fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<NonTerminalDefAST> createNonTerminalDef(TokenAST<String> name,
                                                                                     TypeVarAST type,
                                                                                     List<ProductionDefAST> productions)

createUnquotedIdVar

public fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<UnquotedIdVarAST> createUnquotedIdVar(TokenAST<String> name)

createPriorityDef

public fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<PriorityDefAST> createPriorityDef(TokenAST<String> name,
                                                                               double number,
                                                                               String assoc)

createPriorityVar

public fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<PriorityVarAST> createPriorityVar(TokenAST<String> name)

createProductionDef

public fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<ProductionDefAST> createProductionDef(List<NodeAST> varlist,
                                                                                   PriorityVarAST priority,
                                                                                   ProductionIdAndVersionDefAST idAndVersion)

createDirectiveDef

public fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<DirectiveDefAST> createDirectiveDef(TokenAST<String> name)

createRuleDef

public fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<RuleDefAST> createRuleDef(TokenAST<String> name,
                                                                       String regex)

createRootDef

public fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<RootDefAST> createRootDef(StartNonTerminalSetDefAST startNonTerminalSetDef)

createStartNonTerminalSetDef

public fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<StartNonTerminalSetDefAST> createStartNonTerminalSetDef(List<UnquotedIdVarAST> startNonTerminalList)

createTerminalDef

public fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<TerminalDefAST> createTerminalDef(TerminalDefAST.TerminalKind kind,
                                                                               TokenAST<String> name,
                                                                               AliasDefAST alias,
                                                                               TypeVarAST type,
                                                                               RuleDefAST rule,
                                                                               PriorityVarAST priority)

createQuotedIdVar

public fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<QuotedIdVarAST> createQuotedIdVar(TokenAST<String> name)

createTypeVar

public fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<TypeVarAST> createTypeVar(TokenAST<String> qualifiedid)

createVersionDef

public fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<VersionDefAST> createVersionDef(TokenAST<String> name,
                                                                             VersionVarAST parent)

createAliasDef

public fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<AliasDefAST> createAliasDef(TokenAST<String> name)

createVariableTypeDef

public fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<VariableTypeDefAST> createVariableTypeDef(VariableVarAST variable,
                                                                                       TypeVarAST type)

createVersionVar

public fr.umlv.tatoo.cc.ebnf.ast.TreeBuilder<VersionVarAST> createVersionVar(TokenAST<String> name)