fr.umlv.tatoo.runtime.tools
Interface ToolsListener<R,B,T,N,P>

Type Parameters:
R - type of rules.
B - type of buffer.
T - type of terminals.
N - type of non terminals.
P - type of productions.
All Known Subinterfaces:
AnalyzerListener<R,B,T,N,P>

public interface ToolsListener<R,B,T,N,P>

Author:
Remi Forax

Method Summary
 void accept(N nonTerminal)
          Called when the parser accept a start non terminal.
 void comment(R rule, B buffer)
          Called when the lexer recognizes a rule tagged as comment.
 void reduce(P production)
          Called when the parser reduce a production.
 void shift(T terminal, R rule, B buffer)
          Called when the analyzer recognized a terminal.
 

Method Detail

comment

void comment(R rule,
             B buffer)
Called when the lexer recognizes a rule tagged as comment. No terminal is associated to that rule.

Parameters:
rule - the rule recognized by the lexer.
buffer - the buffer currently used by the lexer.

shift

void shift(T terminal,
           R rule,
           B buffer)
Called when the analyzer recognized a terminal. i.e when the lexer recognized a rule and the parser shift the corresponding terminal.

Parameters:
terminal - the terminal shifted by the parser.
rule - the rule recognized by the lexer.
buffer - the buffer currently used by the lexer.
See Also:
LexerListener.ruleVerified(Object, int, Object), ParserListener.shift(Object)

reduce

void reduce(P production)
Called when the parser reduce a production.

Parameters:
production - production reduced by the parser.

accept

void accept(N nonTerminal)
Called when the parser accept a start non terminal.

Parameters:
nonTerminal - non terminal accepted by the parser.
See Also:
ParserListener.accept(Object)