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

java.lang.Object
  extended by fr.umlv.tatoo.cc.ebnf.ast.ASTGrammarEvaluator
All Implemented Interfaces:
fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

public class ASTGrammarEvaluator
extends Object
implements fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator


Constructor Summary
ASTGrammarEvaluator(TreeFactory factory)
           
 
Method Summary
 void acceptStart(RootDefAST start)
           
 AliasDefAST alias_def(TokenAST<?> lpar, TokenAST<String> quoted_name, TokenAST<?> rpar)
           
 SimpleNodeAST<?> blank_def(TokenAST<?> blanksdecl, TokenAST<?> colon, List<NodeAST> blanks_list)
           
 NodeAST blank_lexem_macro(TokenAST<?> dollar, TokenAST<String> id, TokenAST<?> assign, SimpleNodeAST<String> regex)
           
 NodeAST blank_lexem_terminal(TokenAST<String> id, TokenAST<?> assign, SimpleNodeAST<String> regex)
           
 SimpleNodeAST<?> branch_def(TokenAST<?> branchesdecl, TokenAST<?> colon, List<TerminalDefAST> branches_list)
           
 TerminalDefAST branch_eof_terminal(TokenAST<?> eof, PriorityVarAST priority_optional)
           
 TerminalDefAST branch_lexem_terminal(TokenAST<String> id, TypeVarAST type_optional, PriorityVarAST priority_optional)
           
 NonTerminalDefAST decl_productions(TokenAST<String> id, TypeVarAST type_optional, TokenAST<?> assign, List<TreeAST> prods, TokenAST<?> semicolon)
           
 DirectiveDefAST directive_def(TokenAST<String> id)
           
 SimpleNodeAST<?> directives_def(TokenAST<?> directivesdecl, TokenAST<?> colon, List<DirectiveDefAST> directive_list)
           
 SimpleNodeAST<?> error_def(TokenAST<?> errordecl, TokenAST<?> colon, TokenAST<String> id)
           
 ImportDefAST import_def(TokenAST<String> qualifiedid)
           
 SimpleNodeAST<?> imports_def(TokenAST<?> importsdecl, TokenAST<?> colon, List<ImportDefAST> import_list)
           
 NodeAST lexem_macro(TokenAST<?> dollar, TokenAST<String> id, TokenAST<?> assign, SimpleNodeAST<String> regex)
           
 NodeAST lexem_terminal(TokenAST<String> id, AliasDefAST alias_optional, TypeVarAST type_optional, SimpleNodeAST<String> regex_optional, PriorityVarAST priority_optional)
           
 VersionVarAST parent_version_def(TokenAST<?> colon, TokenAST<String> id)
           
 SimpleNodeAST<?> priorities_def(TokenAST<?> prioritiesdecl, TokenAST<?> colon, List<PriorityDefAST> priority_list)
           
 PriorityVarAST priority_decl_def(TokenAST<?> prioritydecl, TokenAST<?> assign, TokenAST<String> id)
           
 PriorityDefAST priority_def(TokenAST<String> id, TokenAST<?> assign, TokenAST<Double> number, TokenAST<String> assoc)
           
 TreeAST prod_production(List<NodeAST> varlist, PriorityVarAST priority_optional, ProductionIdAndVersionDefAST production_id_optional)
           
 SimpleNodeAST<?> production_def(TokenAST<?> productionsdecl, TokenAST<?> colon, List<NonTerminalDefAST> decls)
           
 ProductionIdAndVersionDefAST production_id(TokenAST<?> lbracket, TokenAST<String> id, VersionVarAST production_version_optional, TokenAST<?> rbracket)
           
 VersionVarAST production_version(TokenAST<?> colon, TokenAST<String> id)
           
 SimpleNodeAST<String> regex_doublequote(TokenAST<?> doublequote, TokenAST<String> regexdoublequote, TokenAST<?> doublequote2)
           
 SimpleNodeAST<String> regex_quote(TokenAST<?> quote, TokenAST<String> regexquote, TokenAST<?> quote2)
           
 SimpleNodeAST<String> regex_terminal_decl(TokenAST<?> assign, SimpleNodeAST<String> regex)
           
 VariableVarAST separator_non_terminal(TokenAST<?> slash, TokenAST<String> id)
           
 VariableVarAST separator_terminal(TokenAST<?> slash, TokenAST<?> quote, TokenAST<String> id, TokenAST<?> quote2)
           
 RootDefAST start_def(SimpleNodeAST<?> directives_lhs_optional, SimpleNodeAST<?> imports_lhs_optional, SimpleNodeAST<?> priorities_lhs_optional, SimpleNodeAST<?> token_lhs, SimpleNodeAST<?> blank_lhs_optional, SimpleNodeAST<?> branch_lhs_optional, SimpleNodeAST<?> error_lhs_optional, SimpleNodeAST<?> versions_optional, SimpleNodeAST<?> types_lhs_optional, StartNonTerminalSetDefAST start_non_terminals_optional, SimpleNodeAST<?> production_lhs)
           
 StartNonTerminalSetDefAST start_non_terminals_def(TokenAST<?> startsdecl, TokenAST<?> colon, List<UnquotedIdVarAST> starts_list)
           
 UnquotedIdVarAST startid_def(TokenAST<String> id)
           
 PriorityVarAST terminal_or_prod_priority(TokenAST<?> lsqbracket, TokenAST<String> id, TokenAST<?> rsqbracket)
           
 SimpleNodeAST<?> token_def(TokenAST<?> tokensdecl, TokenAST<?> colon, List<NodeAST> tokens_list)
           
 TypeVarAST type_def(TokenAST<?> colon, TokenAST<String> qualifiedid)
           
 SimpleNodeAST<?> types_def(TokenAST<?> typesdecl, TokenAST<?> colon, List<VariableTypeDefAST> vartypedef_list)
           
 NodeAST var_group(TokenAST<?> lpar, List<NodeAST> vargroup, TokenAST<?> rpar)
           
 NodeAST var_nonterminal_plus(TokenAST<String> id, VariableVarAST separator_optional, TokenAST<?> plus)
           
 NodeAST var_nonterminal_star(TokenAST<String> id, VariableVarAST separator_optional, TokenAST<?> star)
           
 VariableVarAST var_nonterminal(TokenAST<String> id, TokenAST<?> optional)
           
 NodeAST var_terminal_plus(TokenAST<?> quote, TokenAST<String> id, TokenAST<?> quote2, VariableVarAST separator_optional, TokenAST<?> plus)
           
 NodeAST var_terminal_star(TokenAST<?> quote, TokenAST<String> id, TokenAST<?> quote2, VariableVarAST separator_optional, TokenAST<?> star)
           
 VariableVarAST var_terminal(TokenAST<?> quote, TokenAST<String> id, TokenAST<?> quote2, TokenAST<?> optional)
           
 NodeAST var_variable(VariableVarAST variable)
           
 VariableVarAST variable_nonterminal(TokenAST<String> id)
           
 VariableVarAST variable_terminal(TokenAST<?> quote, TokenAST<String> id, TokenAST<?> quote2)
           
 VariableTypeDefAST vartype_def(VariableVarAST variable, TypeVarAST type)
           
 VersionDefAST version_def(TokenAST<String> id, VersionVarAST parent_version_optional)
           
 SimpleNodeAST<?> versions_def(TokenAST<?> versionsdecl, List<VersionDefAST> version_list)
           
 SimpleNodeAST<?> versions_def(TokenAST<?> versionsdecl, TokenAST<?> colon, List<VersionDefAST> version_list)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ASTGrammarEvaluator

public ASTGrammarEvaluator(TreeFactory factory)
Method Detail

acceptStart

public void acceptStart(RootDefAST start)
Specified by:
acceptStart in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

start_def

public RootDefAST start_def(SimpleNodeAST<?> directives_lhs_optional,
                            SimpleNodeAST<?> imports_lhs_optional,
                            SimpleNodeAST<?> priorities_lhs_optional,
                            SimpleNodeAST<?> token_lhs,
                            SimpleNodeAST<?> blank_lhs_optional,
                            SimpleNodeAST<?> branch_lhs_optional,
                            SimpleNodeAST<?> error_lhs_optional,
                            SimpleNodeAST<?> versions_optional,
                            SimpleNodeAST<?> types_lhs_optional,
                            StartNonTerminalSetDefAST start_non_terminals_optional,
                            SimpleNodeAST<?> production_lhs)
Specified by:
start_def in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

directives_def

public SimpleNodeAST<?> directives_def(TokenAST<?> directivesdecl,
                                       TokenAST<?> colon,
                                       List<DirectiveDefAST> directive_list)
Specified by:
directives_def in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

directive_def

public DirectiveDefAST directive_def(TokenAST<String> id)
Specified by:
directive_def in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

branch_eof_terminal

public TerminalDefAST branch_eof_terminal(TokenAST<?> eof,
                                          PriorityVarAST priority_optional)
Specified by:
branch_eof_terminal in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

branch_lexem_terminal

public TerminalDefAST branch_lexem_terminal(TokenAST<String> id,
                                            TypeVarAST type_optional,
                                            PriorityVarAST priority_optional)
Specified by:
branch_lexem_terminal in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

prod_production

public TreeAST prod_production(List<NodeAST> varlist,
                               PriorityVarAST priority_optional,
                               ProductionIdAndVersionDefAST production_id_optional)
Specified by:
prod_production in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

startid_def

public UnquotedIdVarAST startid_def(TokenAST<String> id)
Specified by:
startid_def in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

versions_def

public SimpleNodeAST<?> versions_def(TokenAST<?> versionsdecl,
                                     List<VersionDefAST> version_list)

version_def

public VersionDefAST version_def(TokenAST<String> id,
                                 VersionVarAST parent_version_optional)
Specified by:
version_def in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

parent_version_def

public VersionVarAST parent_version_def(TokenAST<?> colon,
                                        TokenAST<String> id)
Specified by:
parent_version_def in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

token_def

public SimpleNodeAST<?> token_def(TokenAST<?> tokensdecl,
                                  TokenAST<?> colon,
                                  List<NodeAST> tokens_list)
Specified by:
token_def in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

lexem_macro

public NodeAST lexem_macro(TokenAST<?> dollar,
                           TokenAST<String> id,
                           TokenAST<?> assign,
                           SimpleNodeAST<String> regex)
Specified by:
lexem_macro in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

branch_def

public SimpleNodeAST<?> branch_def(TokenAST<?> branchesdecl,
                                   TokenAST<?> colon,
                                   List<TerminalDefAST> branches_list)
Specified by:
branch_def in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

blank_def

public SimpleNodeAST<?> blank_def(TokenAST<?> blanksdecl,
                                  TokenAST<?> colon,
                                  List<NodeAST> blanks_list)
Specified by:
blank_def in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

blank_lexem_macro

public NodeAST blank_lexem_macro(TokenAST<?> dollar,
                                 TokenAST<String> id,
                                 TokenAST<?> assign,
                                 SimpleNodeAST<String> regex)
Specified by:
blank_lexem_macro in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

blank_lexem_terminal

public NodeAST blank_lexem_terminal(TokenAST<String> id,
                                    TokenAST<?> assign,
                                    SimpleNodeAST<String> regex)
Specified by:
blank_lexem_terminal in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

error_def

public SimpleNodeAST<?> error_def(TokenAST<?> errordecl,
                                  TokenAST<?> colon,
                                  TokenAST<String> id)
Specified by:
error_def in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

types_def

public SimpleNodeAST<?> types_def(TokenAST<?> typesdecl,
                                  TokenAST<?> colon,
                                  List<VariableTypeDefAST> vartypedef_list)
Specified by:
types_def in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

vartype_def

public VariableTypeDefAST vartype_def(VariableVarAST variable,
                                      TypeVarAST type)
Specified by:
vartype_def in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

variable_nonterminal

public VariableVarAST variable_nonterminal(TokenAST<String> id)
Specified by:
variable_nonterminal in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

variable_terminal

public VariableVarAST variable_terminal(TokenAST<?> quote,
                                        TokenAST<String> id,
                                        TokenAST<?> quote2)
Specified by:
variable_terminal in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

terminal_or_prod_priority

public PriorityVarAST terminal_or_prod_priority(TokenAST<?> lsqbracket,
                                                TokenAST<String> id,
                                                TokenAST<?> rsqbracket)
Specified by:
terminal_or_prod_priority in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

production_def

public SimpleNodeAST<?> production_def(TokenAST<?> productionsdecl,
                                       TokenAST<?> colon,
                                       List<NonTerminalDefAST> decls)
Specified by:
production_def in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

decl_productions

public NonTerminalDefAST decl_productions(TokenAST<String> id,
                                          TypeVarAST type_optional,
                                          TokenAST<?> assign,
                                          List<TreeAST> prods,
                                          TokenAST<?> semicolon)
Specified by:
decl_productions in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

production_id

public ProductionIdAndVersionDefAST production_id(TokenAST<?> lbracket,
                                                  TokenAST<String> id,
                                                  VersionVarAST production_version_optional,
                                                  TokenAST<?> rbracket)
Specified by:
production_id in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

production_version

public VersionVarAST production_version(TokenAST<?> colon,
                                        TokenAST<String> id)
Specified by:
production_version in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

priorities_def

public SimpleNodeAST<?> priorities_def(TokenAST<?> prioritiesdecl,
                                       TokenAST<?> colon,
                                       List<PriorityDefAST> priority_list)
Specified by:
priorities_def in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

priority_def

public PriorityDefAST priority_def(TokenAST<String> id,
                                   TokenAST<?> assign,
                                   TokenAST<Double> number,
                                   TokenAST<String> assoc)
Specified by:
priority_def in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

regex_doublequote

public SimpleNodeAST<String> regex_doublequote(TokenAST<?> doublequote,
                                               TokenAST<String> regexdoublequote,
                                               TokenAST<?> doublequote2)
Specified by:
regex_doublequote in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

regex_quote

public SimpleNodeAST<String> regex_quote(TokenAST<?> quote,
                                         TokenAST<String> regexquote,
                                         TokenAST<?> quote2)
Specified by:
regex_quote in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

regex_terminal_decl

public SimpleNodeAST<String> regex_terminal_decl(TokenAST<?> assign,
                                                 SimpleNodeAST<String> regex)
Specified by:
regex_terminal_decl in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

priority_decl_def

public PriorityVarAST priority_decl_def(TokenAST<?> prioritydecl,
                                        TokenAST<?> assign,
                                        TokenAST<String> id)

separator_non_terminal

public VariableVarAST separator_non_terminal(TokenAST<?> slash,
                                             TokenAST<String> id)
Specified by:
separator_non_terminal in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

separator_terminal

public VariableVarAST separator_terminal(TokenAST<?> slash,
                                         TokenAST<?> quote,
                                         TokenAST<String> id,
                                         TokenAST<?> quote2)
Specified by:
separator_terminal in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

start_non_terminals_def

public StartNonTerminalSetDefAST start_non_terminals_def(TokenAST<?> startsdecl,
                                                         TokenAST<?> colon,
                                                         List<UnquotedIdVarAST> starts_list)
Specified by:
start_non_terminals_def in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

type_def

public TypeVarAST type_def(TokenAST<?> colon,
                           TokenAST<String> qualifiedid)
Specified by:
type_def in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

var_group

public NodeAST var_group(TokenAST<?> lpar,
                         List<NodeAST> vargroup,
                         TokenAST<?> rpar)
Specified by:
var_group in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

var_variable

public NodeAST var_variable(VariableVarAST variable)

var_nonterminal_plus

public NodeAST var_nonterminal_plus(TokenAST<String> id,
                                    VariableVarAST separator_optional,
                                    TokenAST<?> plus)
Specified by:
var_nonterminal_plus in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

var_nonterminal_star

public NodeAST var_nonterminal_star(TokenAST<String> id,
                                    VariableVarAST separator_optional,
                                    TokenAST<?> star)
Specified by:
var_nonterminal_star in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

var_nonterminal

public VariableVarAST var_nonterminal(TokenAST<String> id,
                                      TokenAST<?> optional)
Specified by:
var_nonterminal in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

var_terminal

public VariableVarAST var_terminal(TokenAST<?> quote,
                                   TokenAST<String> id,
                                   TokenAST<?> quote2,
                                   TokenAST<?> optional)
Specified by:
var_terminal in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

var_terminal_plus

public NodeAST var_terminal_plus(TokenAST<?> quote,
                                 TokenAST<String> id,
                                 TokenAST<?> quote2,
                                 VariableVarAST separator_optional,
                                 TokenAST<?> plus)
Specified by:
var_terminal_plus in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

var_terminal_star

public NodeAST var_terminal_star(TokenAST<?> quote,
                                 TokenAST<String> id,
                                 TokenAST<?> quote2,
                                 VariableVarAST separator_optional,
                                 TokenAST<?> star)
Specified by:
var_terminal_star in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

versions_def

public SimpleNodeAST<?> versions_def(TokenAST<?> versionsdecl,
                                     TokenAST<?> colon,
                                     List<VersionDefAST> version_list)
Specified by:
versions_def in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

imports_def

public SimpleNodeAST<?> imports_def(TokenAST<?> importsdecl,
                                    TokenAST<?> colon,
                                    List<ImportDefAST> import_list)
Specified by:
imports_def in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

import_def

public ImportDefAST import_def(TokenAST<String> qualifiedid)
Specified by:
import_def in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

alias_def

public AliasDefAST alias_def(TokenAST<?> lpar,
                             TokenAST<String> quoted_name,
                             TokenAST<?> rpar)
Specified by:
alias_def in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator

lexem_terminal

public NodeAST lexem_terminal(TokenAST<String> id,
                              AliasDefAST alias_optional,
                              TypeVarAST type_optional,
                              SimpleNodeAST<String> regex_optional,
                              PriorityVarAST priority_optional)
Specified by:
lexem_terminal in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator