net.esper.eql.parse
Class EQLPatternTreeWalker

java.lang.Object
  extended by antlr.TreeParser
      extended by net.esper.eql.generated.EQLBaseWalker
          extended by net.esper.eql.parse.EQLPatternTreeWalker
All Implemented Interfaces:
EqlEvalTokenTypes

public class EQLPatternTreeWalker
extends EQLBaseWalker

Called during the walks of a pattern expression AST tree as specified in the grammar file. Constructs a pattern evaluation tree under a EvalRootNode. Keeps track of event types generated by pattern.


Field Summary
 
Fields inherited from class net.esper.eql.generated.EQLBaseWalker
_tokenNames, _tokenSet_0, _tokenSet_1, _tokenSet_2
 
Fields inherited from class antlr.TreeParser
_retTree, astFactory, ASTNULL, inputState, returnAST, tokenNames, traceDepth
 
Fields inherited from interface net.esper.eql.generated.EqlEvalTokenTypes
ALL, AND_EXPR, ARRAY_PARAM_LIST, AS, ASC, AVEDEV, AVG, BAND, BAND_ASSIGN, BNOT, BOGUS, BOOL_TYPE, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, BY, CLASS_IDENT, COLON, COMMA, CONCAT, COUNT, DEC, DESC, DISTINCT, DIV, DIV_ASSIGN, DOT, DOUBLE_TYPE, EOF, EQUAL, EQUALS, ESC, EVAL_AND_EXPR, EVAL_BITWISE_EXPR, EVAL_EQUALS_EXPR, EVAL_IDENT, EVAL_NOTEQUALS_EXPR, EVAL_OR_EXPR, EVENT_FILTER_EXPR, EVENT_FILTER_IDENT, EVENT_FILTER_NAME_TAG, EVENT_FILTER_PARAM, EVENT_LIMIT_EXPR, EVENT_PROP_EXPR, EVENT_PROP_INDEXED, EVENT_PROP_MAPPED, EVENT_PROP_SIMPLE, EVENTS, EVERY_EXPR, EXPONENT, FLOAT_SUFFIX, FLOAT_TYPE, FOLLOWED_BY, FOLLOWED_BY_EXPR, FROM, FULL, FULL_OUTERJOIN_EXPR, GE, GROUP, GROUP_BY_EXPR, GT, GUARD_EXPR, HAVING, HAVING_EXPR, HEX_DIGIT, IDENT, IN, INC, INSERT, INSERTINTO_EXPR, INSERTINTO_EXPRCOL, INT_TYPE, INTO, IS, ISTREAM, JOIN, LAND, LAST, LBRACK, LCURLY, LE, LEFT, LEFT_OUTERJOIN_EXPR, LIB_FUNCTION, LITERAL_false, LITERAL_null, LITERAL_true, LNOT, LONG_TYPE, LOR, LPAREN, LT, MAX, MEDIAN, MIN, MIN_LIMIT_EXPR, MINUS, MINUS_ASSIGN, MINUTES, ML_COMMENT, MOD, MOD_ASSIGN, NOT_EQUAL, NOT_EXPR, NULL_TREE_LOOKAHEAD, NULL_TYPE, NUM_DOUBLE, NUM_FLOAT, NUM_INT, NUM_LONG, NUMERIC_PARAM_FREQUENCE, NUMERIC_PARAM_FREQUENCY, NUMERIC_PARAM_LIST, NUMERIC_PARAM_RANGE, OBSERVER_EXPR, ON, OR_EXPR, ORDER, ORDER_BY_EXPR, ORDER_ELEMENT_EXPR, OUTER, OUTERJOIN_EXPR, OUTPUT, PLUS, PLUS_ASSIGN, QUESTION, QUOTED_STRING_LITERAL, RBRACK, RCURLY, RIGHT, RIGHT_OUTERJOIN_EXPR, RPAREN, RSTREAM, SEC_LIMIT_EXPR, SECONDS, SELECT, SELECTION_ELEMENT_EXPR, SELECTION_EXPR, SEMI, SL, SL_ASSIGN, SL_COMMENT, SQL_NE, SR, SR_ASSIGN, STAR, STAR_ASSIGN, STDDEV, STREAM_EXPR, STRING_LITERAL, STRING_TYPE, SUM, UNARY_MINUS, VIEW_EXPR, WHERE, WHERE_EXPR, WS
 
Constructor Summary
EQLPatternTreeWalker(EventAdapterService eventAdapterService)
          Ctor.
 
Method Summary
protected  void end()
          Ends the tree walk and checks if all expression nodes have a home root node.
 EvalRootNode getRootNode()
          Returns root node of pattern eval tree.
 java.util.Map<java.lang.String,EventType> getTaggedEventTypes()
          Returns event trypes, if any, as specified as part of filters used in pattern.
protected  void leaveNode(antlr.collections.AST node)
          Leave AST node and process it's type and child nodes.
 
Methods inherited from class net.esper.eql.generated.EQLBaseWalker
arithmeticExpr, atomicExpr, builtinFunc, constant, evalExprChoice, eventFilterExpr, eventPropertyAtomic, eventPropertyExpr, exprChoice, filterAtom, filterIdentifier, filterParam, filterParamComparator, groupByClause, havingClause, insertIntoExpr, insertIntoExprCol, libFunc, number, numericParameterList, orderByClause, orderByElement, outerJoin, outerJoinIdent, outputLimitExpr, parameter, patternOp, relationalExpr, selectionListElement, selectionListExpr, singleParameter, startEQLExpressionRule, startPatternExpressionRule, streamExpression, valueExpr, viewExpr, viewListExpr, whereClause
 
Methods inherited from class antlr.TreeParser
getAST, getASTFactory, getTokenName, getTokenNames, match, match, matchNot, panic, reportError, reportError, reportWarning, setASTFactory, setASTNodeClass, setASTNodeType, traceIn, traceIndent, traceOut
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EQLPatternTreeWalker

public EQLPatternTreeWalker(EventAdapterService eventAdapterService)
Ctor.

Parameters:
eventAdapterService - for resolving event names
Method Detail

getRootNode

public EvalRootNode getRootNode()
Returns root node of pattern eval tree.

Returns:
root node.

getTaggedEventTypes

public java.util.Map<java.lang.String,EventType> getTaggedEventTypes()
Returns event trypes, if any, as specified as part of filters used in pattern.

Returns:
event types and the name for each event

end

protected void end()
            throws ASTWalkException
Ends the tree walk and checks if all expression nodes have a home root node.

Overrides:
end in class EQLBaseWalker
Throws:
ASTWalkException

leaveNode

protected void leaveNode(antlr.collections.AST node)
                  throws ASTWalkException
Leave AST node and process it's type and child nodes.

Overrides:
leaveNode in class EQLBaseWalker
Parameters:
node - to leave
Throws:
ASTWalkException