Package org.hibernate.hql.ast
Class HqlParser
java.lang.Object
antlr.Parser
antlr.LLkParser
org.hibernate.hql.antlr.HqlBaseParser
org.hibernate.hql.ast.HqlParser
- All Implemented Interfaces:
HqlTokenTypes
Implements the semantic action methods defined in the HQL base parser to keep the grammar
source file a little cleaner. Extends the parser class generated by ANTLR.
-
Field Summary
Fields inherited from class org.hibernate.hql.antlr.HqlBaseParser
_tokenNames, _tokenSet_0, _tokenSet_1, _tokenSet_10, _tokenSet_11, _tokenSet_12, _tokenSet_13, _tokenSet_14, _tokenSet_15, _tokenSet_16, _tokenSet_17, _tokenSet_18, _tokenSet_19, _tokenSet_2, _tokenSet_20, _tokenSet_21, _tokenSet_22, _tokenSet_23, _tokenSet_24, _tokenSet_25, _tokenSet_26, _tokenSet_27, _tokenSet_28, _tokenSet_29, _tokenSet_3, _tokenSet_30, _tokenSet_31, _tokenSet_32, _tokenSet_33, _tokenSet_34, _tokenSet_35, _tokenSet_4, _tokenSet_5, _tokenSet_6, _tokenSet_7, _tokenSet_8, _tokenSet_9Fields inherited from class antlr.Parser
astFactory, inputState, returnAST, tokenNames, tokenTypeToASTClassMapFields inherited from interface org.hibernate.hql.antlr.HqlTokenTypes
AGGREGATE, ALIAS, ALL, AND, ANY, AS, ASCENDING, AVG, BETWEEN, BOTH, CASE, CASE2, CLASS, CLOSE, CLOSE_BRACKET, COLON, COMMA, CONCAT, CONSTANT, CONSTRUCTOR, COUNT, DELETE, DESCENDING, DISTINCT, DIV, DOT, ELEMENTS, ELSE, EMPTY, END, ENTRY, EOF, EQ, ESCAPE, ESCqs, EXISTS, EXPONENT, EXPR_LIST, FALSE, FETCH, FILTER_ENTITY, FLOAT_SUFFIX, FROM, FULL, GE, GROUP, GT, HAVING, HEX_DIGIT, ID_LETTER, ID_START_LETTER, IDENT, IN, IN_LIST, INDEX_OP, INDICES, INNER, INSERT, INTO, IS, IS_NOT_NULL, IS_NULL, JAVA_CONSTANT, JOIN, KEY, LE, LEADING, LEFT, LIKE, LITERAL_ascending, LITERAL_by, LITERAL_descending, LT, MAX, MEMBER, METHOD_CALL, MIN, MINUS, MOD, NE, NEW, NOT, NOT_BETWEEN, NOT_IN, NOT_LIKE, NULL, NULL_TREE_LOOKAHEAD, NUM_BIG_DECIMAL, NUM_BIG_INTEGER, NUM_DOUBLE, NUM_FLOAT, NUM_INT, NUM_LONG, OBJECT, OF, ON, OPEN, OPEN_BRACKET, OR, ORDER, ORDER_ELEMENT, OUTER, PARAM, PLUS, PROPERTIES, QUERY, QUOTED_STRING, RANGE, RIGHT, ROW_STAR, SELECT, SELECT_FROM, SET, SOME, SQL_NE, STAR, SUM, THEN, TRAILING, TRUE, UNARY_MINUS, UNARY_PLUS, UNION, UPDATE, VALUE, VECTOR_EXPR, VERSIONED, WEIRD_IDENT, WHEN, WHERE, WITH, WS -
Method Summary
Modifier and TypeMethodDescriptionstatic HqlParsergetInstance(String hql) voidThis method looks ahead and converts .Overrides the base behavior to retry keywords as identifiers.Returns an equivalent tree for (NOT (a relop b) ), for example:static voidpanic()Post process equality expressions, clean up the subtree.voidprocessMemberOf(antlr.Token n, antlr.collections.AST p, antlr.ASTPair currentAST) voidvoidvoidvoidshowAst(antlr.collections.AST ast, PrintStream out) voidvoidvoidMethods inherited from class org.hibernate.hql.antlr.HqlBaseParser
additiveExpression, aggregate, alias, aliasedExpression, altWhenClause, asAlias, ascendingOrDescending, assignment, atom, betweenList, buildTokenTypeASTClassMap, caseExpression, collectionExpr, compoundExpr, concatenation, constant, deleteStatement, elseClause, equalityExpression, expression, expressionOrVector, exprList, fromClassOrOuterQueryPath, fromClause, fromJoin, fromRange, groupByClause, havingClause, identifier, identPrimary, inClassDeclaration, inCollectionDeclaration, inCollectionElementsDeclaration, inList, insertablePropertySpec, insertStatement, intoClause, isFilter, likeEscape, logicalAndExpression, logicalExpression, logicalOrExpression, multiplyExpression, negatedExpression, newExpression, newValue, optionalFromTokenFromClause, orderByClause, orderElement, parameter, path, primaryExpression, propertyFetch, quantifiedExpression, queryRule, relationalExpression, selectClause, selectedPropertiesList, selectFrom, selectObject, selectStatement, setClause, setFilter, stateField, statement, subQuery, unaryExpression, union, updateStatement, vectorExpr, whenClause, whereClause, withClauseMethods inherited from class antlr.LLkParser
consume, LA, LTMethods inherited from class antlr.Parser
addMessageListener, addParserListener, addParserMatchListener, addParserTokenListener, addSemanticPredicateListener, addSyntacticPredicateListener, addTraceListener, consumeUntil, consumeUntil, defaultDebuggingSetup, getAST, getASTFactory, getFilename, getInputState, getTokenName, getTokenNames, getTokenTypeToASTClassMap, isDebugMode, mark, match, match, matchNot, recover, removeMessageListener, removeParserListener, removeParserMatchListener, removeParserTokenListener, removeSemanticPredicateListener, removeSyntacticPredicateListener, removeTraceListener, rewind, setASTFactory, setASTNodeClass, setASTNodeType, setDebugMode, setFilename, setIgnoreInvalidDebugCalls, setInputState, setTokenBuffer, traceIndent
-
Method Details
-
getInstance
-
traceIn
- Overrides:
traceInin classantlr.LLkParser
-
traceOut
- Overrides:
traceOutin classantlr.LLkParser
-
reportError
- Overrides:
reportErrorin classantlr.Parser
-
reportError
- Overrides:
reportErrorin classantlr.Parser
-
reportWarning
- Overrides:
reportWarningin classantlr.Parser
-
getParseErrorHandler
-
handleIdentifierError
public antlr.collections.AST handleIdentifierError(antlr.Token token, antlr.RecognitionException ex) throws antlr.RecognitionException, antlr.TokenStreamException Overrides the base behavior to retry keywords as identifiers.- Overrides:
handleIdentifierErrorin classHqlBaseParser- Parameters:
token- The token.ex- The recognition exception.- Returns:
- AST - The new AST.
- Throws:
antlr.RecognitionException- if the substitution was not possible.antlr.TokenStreamException- if the substitution was not possible.
-
negateNode
Returns an equivalent tree for (NOT (a relop b) ), for example:(NOT (GT a b) ) => (LE a b)
- Overrides:
negateNodein classHqlBaseParser- Parameters:
x- The sub tree to transform, the parent is assumed to be NOT.- Returns:
- AST - The equivalent sub-tree.
-
processEqualityExpression
Post process equality expressions, clean up the subtree.- Overrides:
processEqualityExpressionin classHqlBaseParser- Parameters:
x- The equality expression.- Returns:
- AST - The clean sub-tree.
-
showAst
-
weakKeywords
- Overrides:
weakKeywordsin classHqlBaseParser- Throws:
antlr.TokenStreamException
-
handleDotIdent
Description copied from class:HqlBaseParserThis method looks ahead and converts .into . IDENT when appropriate. - Overrides:
handleDotIdentin classHqlBaseParser- Throws:
antlr.TokenStreamException
-
processMemberOf
- Overrides:
processMemberOfin classHqlBaseParser
-
panic
public static void panic()
-