org.hibernate.hql.ast
Class HqlParser

java.lang.Object
  extended by antlr.Parser
      extended by antlr.LLkParser
          extended by org.hibernate.hql.antlr.HqlBaseParser
              extended by org.hibernate.hql.ast.HqlParser
All Implemented Interfaces:
org.hibernate.hql.antlr.HqlTokenTypes

public final class HqlParser
extends org.hibernate.hql.antlr.HqlBaseParser

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.

Author:
Joshua Davis (pgmjsd@sourceforge.net)

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_9
 
Fields inherited from class antlr.Parser
astFactory, inputState, returnAST, tokenNames, tokenTypeToASTClassMap
 
Fields 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
static HqlParser getInstance(String hql)
           
 ParseErrorHandler getParseErrorHandler()
           
 void handleDotIdent()
           
 antlr.collections.AST handleIdentifierError(antlr.Token token, antlr.RecognitionException ex)
          Overrides the base behavior to retry keywords as identifiers.
 antlr.collections.AST negateNode(antlr.collections.AST x)
          Returns an equivalent tree for (NOT (a relop b) ), for example:
static void panic()
           
 antlr.collections.AST processEqualityExpression(antlr.collections.AST x)
          Post process equality expressions, clean up the subtree.
 void processMemberOf(antlr.Token n, antlr.collections.AST p, antlr.ASTPair currentAST)
           
 void reportError(antlr.RecognitionException e)
           
 void reportError(String s)
           
 void reportWarning(String s)
           
 void showAst(antlr.collections.AST ast, PrintStream out)
           
 void traceIn(String ruleName)
           
 void traceOut(String ruleName)
           
 void weakKeywords()
           
 
Methods 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, path, primaryExpression, propertyFetch, quantifiedExpression, queryRule, relationalExpression, selectClause, selectedPropertiesList, selectFrom, selectObject, selectStatement, setClause, setFilter, stateField, statement, subQuery, unaryExpression, union, updateStatement, vectorExpr, whenClause, whereClause, withClause
 
Methods inherited from class antlr.LLkParser
consume, LA, LT
 
Methods 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static HqlParser getInstance(String hql)

traceIn

public void traceIn(String ruleName)
Overrides:
traceIn in class antlr.LLkParser

traceOut

public void traceOut(String ruleName)
Overrides:
traceOut in class antlr.LLkParser

reportError

public void reportError(antlr.RecognitionException e)
Overrides:
reportError in class antlr.Parser

reportError

public void reportError(String s)
Overrides:
reportError in class antlr.Parser

reportWarning

public void reportWarning(String s)
Overrides:
reportWarning in class antlr.Parser

getParseErrorHandler

public ParseErrorHandler 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:
handleIdentifierError in class org.hibernate.hql.antlr.HqlBaseParser
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

public antlr.collections.AST negateNode(antlr.collections.AST x)
Returns an equivalent tree for (NOT (a relop b) ), for example:
 (NOT (GT a b) ) => (LE a b)
 

Overrides:
negateNode in class org.hibernate.hql.antlr.HqlBaseParser
Parameters:
x - The sub tree to transform, the parent is assumed to be NOT.
Returns:
AST - The equivalent sub-tree.

processEqualityExpression

public antlr.collections.AST processEqualityExpression(antlr.collections.AST x)
Post process equality expressions, clean up the subtree.

Overrides:
processEqualityExpression in class org.hibernate.hql.antlr.HqlBaseParser
Parameters:
x - The equality expression.
Returns:
AST - The clean sub-tree.

showAst

public void showAst(antlr.collections.AST ast,
                    PrintStream out)

weakKeywords

public void weakKeywords()
                  throws antlr.TokenStreamException
Overrides:
weakKeywords in class org.hibernate.hql.antlr.HqlBaseParser
Throws:
antlr.TokenStreamException

handleDotIdent

public void handleDotIdent()
                    throws antlr.TokenStreamException
Overrides:
handleDotIdent in class org.hibernate.hql.antlr.HqlBaseParser
Throws:
antlr.TokenStreamException

processMemberOf

public void processMemberOf(antlr.Token n,
                            antlr.collections.AST p,
                            antlr.ASTPair currentAST)
Overrides:
processMemberOf in class org.hibernate.hql.antlr.HqlBaseParser

panic

public static void panic()


Copyright © 2001-2010 Red Hat, Inc. All Rights Reserved.