fr.umlv.tatoo.cc.ebnf.ast
Class ASTGrammarEvaluator
java.lang.Object
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
|
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<Node> blanks_list)
|
Node |
blank_lexem_macro(TokenAST<?> dollar,
TokenAST<String> id,
TokenAST<?> assign,
SimpleNodeAST<String> regex)
|
Node |
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<String> eof,
PriorityVarAST priority_optional)
|
TerminalDefAST |
branch_lexem_terminal(TokenAST<String> id,
TypeVarAST type_optional,
PriorityVarAST priority_optional)
|
SimpleNodeAST<?> |
comment_def(TokenAST<?> commentsdecl,
TokenAST<?> colon,
List<Node> comments_list)
|
Node |
comment_lexem_macro(TokenAST<?> dollar,
TokenAST<String> id,
TokenAST<?> assign,
SimpleNodeAST<String> regex)
|
Node |
comment_lexem_terminal(TokenAST<String> id,
TokenAST<?> assign,
SimpleNodeAST<String> regex)
|
NonTerminalDefAST |
decl_productions(TokenAST<String> id,
TypeVarAST type_optional,
TokenAST<?> assign,
List<Node> 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)
|
Node |
lexem_macro(TokenAST<?> dollar,
TokenAST<String> id,
TokenAST<?> assign,
SimpleNodeAST<String> regex)
|
Node |
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)
|
Node |
prod_production(List<Node> 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<?> comment_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<Node> tokens_list)
|
TypeVarAST |
type_def(TokenAST<?> colon,
TokenAST<String> qualifiedid)
|
SimpleNodeAST<?> |
types_def(TokenAST<?> typesdecl,
TokenAST<?> colon,
List<VariableTypeDefAST> vartypedef_list)
|
Node |
var_group(TokenAST<?> lpar,
List<Node> vargroup,
TokenAST<?> rpar)
|
Node |
var_nonterminal_plus(TokenAST<String> id,
VariableVarAST separator_optional,
TokenAST<?> plus)
|
Node |
var_nonterminal_star(TokenAST<String> id,
VariableVarAST separator_optional,
TokenAST<?> star)
|
VariableVarAST |
var_nonterminal(TokenAST<String> id,
TokenAST<?> optional)
|
Node |
var_terminal_plus(TokenAST<?> quote,
TokenAST<String> id,
TokenAST<?> quote2,
VariableVarAST separator_optional,
TokenAST<?> plus)
|
Node |
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)
|
Node |
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 |
ASTGrammarEvaluator
public ASTGrammarEvaluator(TreeFactory factory)
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<?> comment_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<String> 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 Node prod_production(List<Node> 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<Node> tokens_list)
- Specified by:
token_def in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator
lexem_macro
public Node 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
comment_def
public SimpleNodeAST<?> comment_def(TokenAST<?> commentsdecl,
TokenAST<?> colon,
List<Node> comments_list)
- Specified by:
comment_def in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator
comment_lexem_macro
public Node comment_lexem_macro(TokenAST<?> dollar,
TokenAST<String> id,
TokenAST<?> assign,
SimpleNodeAST<String> regex)
- Specified by:
comment_lexem_macro in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator
comment_lexem_terminal
public Node comment_lexem_terminal(TokenAST<String> id,
TokenAST<?> assign,
SimpleNodeAST<String> regex)
- Specified by:
comment_lexem_terminal in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator
blank_def
public SimpleNodeAST<?> blank_def(TokenAST<?> blanksdecl,
TokenAST<?> colon,
List<Node> blanks_list)
- Specified by:
blank_def in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator
blank_lexem_macro
public Node 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 Node 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<Node> 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 Node var_group(TokenAST<?> lpar,
List<Node> vargroup,
TokenAST<?> rpar)
- Specified by:
var_group in interface fr.umlv.tatoo.cc.lexer.ebnf.tools.GrammarEvaluator
var_variable
public Node var_variable(VariableVarAST variable)
var_nonterminal_plus
public Node 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 Node 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 Node 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 Node 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 Node 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