Package com.sun.jdo.spi.persistence.support.sqlstore.query.jqlc

Source Code of com.sun.jdo.spi.persistence.support.sqlstore.query.jqlc.JQLParser

// $ANTLR 2.7.6 (2005-12-22): "JQL.g" -> "JQLParser.java"$

    package com.sun.jdo.spi.persistence.support.sqlstore.query.jqlc;

    import antlr.MismatchedTokenException;
    import antlr.MismatchedCharException;
    import antlr.NoViableAltException;
    import antlr.NoViableAltForCharException;
    import antlr.TokenStreamRecognitionException;
   
    import java.util.Locale;
    import java.util.ResourceBundle;
    import com.sun.jdo.api.persistence.support.JDOQueryException;
    import com.sun.jdo.api.persistence.support.JDOFatalInternalException;
    import org.glassfish.persistence.common.I18NHelper;


import antlr.TokenBuffer;
import antlr.TokenStreamException;
import antlr.TokenStreamIOException;
import antlr.ANTLRException;
import antlr.LLkParser;
import antlr.Token;
import antlr.TokenStream;
import antlr.RecognitionException;
import antlr.NoViableAltException;
import antlr.MismatchedTokenException;
import antlr.SemanticException;
import antlr.ParserSharedInputState;
import antlr.collections.impl.BitSet;
import antlr.collections.AST;
import java.util.Hashtable;
import antlr.ASTFactory;
import antlr.ASTPair;
import antlr.collections.impl.ASTArray;

/**
* This class defines the syntax analysis (parser) of the JQL compiler.
*
* @author  Michael Bouschen
* @version 0.1
*/
public class JQLParser extends antlr.LLkParser       implements JQLTokenTypes
{

    /**
     * I18N support
     */
    private final static ResourceBundle messages = I18NHelper.loadBundle(
            JQLParser.class);

    /** */
    protected static final int EOF_CHAR = 65535; // = (char) -1 = EOF

    /**
     *
     */
    protected ErrorMsg errorMsg;
   
    /**
     *
     */
    public void init(ErrorMsg errorMsg)
    {
        this.errorMsg = errorMsg;
    }
   
    /**
     * ANTLR method called when an error was detected.
     */
    public void reportError(RecognitionException ex)
    {
        JQLParser.handleANTLRException(ex, errorMsg);
    }

    /**
     * ANTLR method called when an error was detected.
     */
    public void reportError(String s)
    {
        errorMsg.error(0, 0, s);
    }

    /**
     *
     */
    public void reportError(int line, int column, String s)
    {
        errorMsg.error(line, column, s);
    }

    /**
     * ANTLR method called when a warning was detected.
     */
    public void reportWarning(String s)
    {
        throw new JDOQueryException(s);
    }

    /**
     *
     */
    public static void handleANTLRException(ANTLRException ex, ErrorMsg errorMsg)
    {
        if (ex instanceof MismatchedCharException)
        {
            MismatchedCharException mismatched = (MismatchedCharException)ex;
            if (mismatched.mismatchType == MismatchedCharException.CHAR)
            {
                if (mismatched.foundChar == EOF_CHAR)
                {
                    errorMsg.error(mismatched.getLine(), mismatched.getColumn(),
                        I18NHelper.getMessage(messages, "jqlc.parser.unexpectedEOF")); //NOI18N
                }
                else
                {
                    errorMsg.error(mismatched.getLine(), mismatched.getColumn(),
                        I18NHelper.getMessage(messages, "jqlc.parser.expectedfoundchar", //NOI18N
                            String.valueOf((char)mismatched.expecting),
                            String.valueOf((char)mismatched.foundChar)));
                }
                return;
            }
        }
        else if (ex instanceof MismatchedTokenException)
        {
            MismatchedTokenException mismatched = (MismatchedTokenException)ex;
            Token token = mismatched.token;
            if ((mismatched.mismatchType == MismatchedTokenException.TOKEN) &&
                (token != null))
            {
                if (token.getType() == Token.EOF_TYPE) {
                    errorMsg.error(token.getLine(), token.getColumn(),
                        I18NHelper.getMessage(messages, "jqlc.parser.unexpectedEOF")); //NOI18N
                }
                else {
                    errorMsg.error(token.getLine(), token.getColumn(),
                        I18NHelper.getMessage(messages, "jqlc.parser.syntaxerrorattoken", token.getText())); //NOI18N
                }
                return;
            }
        }
        else if (ex instanceof NoViableAltException)
        {
            Token token = ((NoViableAltException)ex).token;
            if (token != null)
            {
                if (token.getType() == Token.EOF_TYPE)
                {
                    errorMsg.error(token.getLine(), token.getColumn(),
                        I18NHelper.getMessage(messages, "jqlc.parser.unexpectedEOF")); //NOI18N
                }
                else
                {
                    errorMsg.error(token.getLine(), token.getColumn(),
                        I18NHelper.getMessage(messages, "jqlc.parser.unexpectedtoken", token.getText())); //NOI18N
                }
                return;
            }
        }
        else if (ex instanceof NoViableAltForCharException)
        {
            NoViableAltForCharException noViableAlt = (NoViableAltForCharException)ex;
            errorMsg.error(noViableAlt.getLine(), noViableAlt.getColumn(),
                I18NHelper.getMessage(messages, "jqlc.parser.unexpectedchar", //NOI18N
                    String.valueOf(noViableAlt.foundChar)));
        }
        else if (ex instanceof TokenStreamRecognitionException)
        {
            handleANTLRException(((TokenStreamRecognitionException)ex).recog, errorMsg);
        }

        // no special handling from aboves matches the exception if this line is reached =>
        // make it a syntax error
        int line = 0;
        int column = 0;
        if (ex instanceof RecognitionException)
        {
            line = ((RecognitionException)ex).getLine();
            column = ((RecognitionException)ex).getColumn();
        }
        errorMsg.error(line, column, I18NHelper.getMessage(messages, "jqlc.parser.syntaxerror")); //NOI18N
    }

protected JQLParser(TokenBuffer tokenBuf, int k) {
  super(tokenBuf,k);
  tokenNames = _tokenNames;
  buildTokenTypeASTClassMap();
  astFactory = new ASTFactory(getTokenTypeToASTClassMap());
}

public JQLParser(TokenBuffer tokenBuf) {
  this(tokenBuf,2);
}

protected JQLParser(TokenStream lexer, int k) {
  super(lexer,k);
  tokenNames = _tokenNames;
  buildTokenTypeASTClassMap();
  astFactory = new ASTFactory(getTokenTypeToASTClassMap());
}

public JQLParser(TokenStream lexer) {
  this(lexer,2);
}

public JQLParser(ParserSharedInputState state) {
  super(state,2);
  tokenNames = _tokenNames;
  buildTokenTypeASTClassMap();
  astFactory = new ASTFactory(getTokenTypeToASTClassMap());
}

  public final void parseImports() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST parseImports_AST = null;
   
    errorMsg.setContext("declareImports")//NOI18N
   
   
    try {      // for error handling
      {
      switch ( LA(1)) {
      case IMPORT:
      {
        declareImport();
        astFactory.addASTChild(currentAST, returnAST);
        {
        _loop85:
        do {
          if ((LA(1)==SEMI) && (LA(2)==IMPORT)) {
            match(SEMI);
            declareImport();
            astFactory.addASTChild(currentAST, returnAST);
          }
          else {
            break _loop85;
          }
         
        } while (true);
        }
        break;
      }
      case EOF:
      case SEMI:
      {
        break;
      }
      default:
      {
        throw new NoViableAltException(LT(1), getFilename());
      }
      }
      }
      {
      switch ( LA(1)) {
      case SEMI:
      {
        match(SEMI);
        break;
      }
      case EOF:
      {
        break;
      }
      default:
      {
        throw new NoViableAltException(LT(1), getFilename());
      }
      }
      }
      match(Token.EOF_TYPE);
      parseImports_AST = (JQLAST)currentAST.root;
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_0);
      } else {
        throw ex;
      }
    }
    returnAST = parseImports_AST;
  }
 
  public final void declareImport() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST declareImport_AST = null;
    Token  i = null;
    JQLAST i_AST = null;
   
    try {      // for error handling
      i = LT(1);
      i_AST = (JQLAST)astFactory.create(i);
      astFactory.makeASTRoot(currentAST, i_AST);
      match(IMPORT);
      qualifiedName();
      astFactory.addASTChild(currentAST, returnAST);
      if ( inputState.guessing==0 ) {
       
        i_AST.setType(IMPORT_DEF);
       
      }
      declareImport_AST = (JQLAST)currentAST.root;
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_1);
      } else {
        throw ex;
      }
    }
    returnAST = declareImport_AST;
  }
 
  public final void qualifiedName() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST qualifiedName_AST = null;
   
    try {      // for error handling
      JQLAST tmp4_AST = null;
      tmp4_AST = (JQLAST)astFactory.create(LT(1));
      astFactory.addASTChild(currentAST, tmp4_AST);
      match(IDENT);
      {
      _loop164:
      do {
        if ((LA(1)==DOT)) {
          JQLAST tmp5_AST = null;
          tmp5_AST = (JQLAST)astFactory.create(LT(1));
          astFactory.makeASTRoot(currentAST, tmp5_AST);
          match(DOT);
          JQLAST tmp6_AST = null;
          tmp6_AST = (JQLAST)astFactory.create(LT(1));
          astFactory.addASTChild(currentAST, tmp6_AST);
          match(IDENT);
        }
        else {
          break _loop164;
        }
       
      } while (true);
      }
      qualifiedName_AST = (JQLAST)currentAST.root;
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_2);
      } else {
        throw ex;
      }
    }
    returnAST = qualifiedName_AST;
  }
 
  public final void parseParameters() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST parseParameters_AST = null;
   
    errorMsg.setContext("declareParameters"); //NOI18N
   
   
    try {      // for error handling
      {
      switch ( LA(1)) {
      case BOOLEAN:
      case BYTE:
      case CHAR:
      case SHORT:
      case INT:
      case FLOAT:
      case LONG:
      case DOUBLE:
      case IDENT:
      {
        declareParameter();
        astFactory.addASTChild(currentAST, returnAST);
        {
        _loop91:
        do {
          if ((LA(1)==COMMA) && (_tokenSet_3.member(LA(2)))) {
            match(COMMA);
            declareParameter();
            astFactory.addASTChild(currentAST, returnAST);
          }
          else {
            break _loop91;
          }
         
        } while (true);
        }
        break;
      }
      case EOF:
      case COMMA:
      {
        break;
      }
      default:
      {
        throw new NoViableAltException(LT(1), getFilename());
      }
      }
      }
      {
      switch ( LA(1)) {
      case COMMA:
      {
        match(COMMA);
        break;
      }
      case EOF:
      {
        break;
      }
      default:
      {
        throw new NoViableAltException(LT(1), getFilename());
      }
      }
      }
      match(Token.EOF_TYPE);
      parseParameters_AST = (JQLAST)currentAST.root;
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_0);
      } else {
        throw ex;
      }
    }
    returnAST = parseParameters_AST;
  }
 
  public final void declareParameter() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST declareParameter_AST = null;
   
    try {      // for error handling
      type();
      astFactory.addASTChild(currentAST, returnAST);
      JQLAST tmp10_AST = null;
      tmp10_AST = (JQLAST)astFactory.create(LT(1));
      astFactory.addASTChild(currentAST, tmp10_AST);
      match(IDENT);
      if ( inputState.guessing==0 ) {
        declareParameter_AST = (JQLAST)currentAST.root;
        declareParameter_AST = (JQLAST)astFactory.make( (new ASTArray(2)).add((JQLAST)astFactory.create(PARAMETER_DEF,"parameterDef")).add(declareParameter_AST));
        currentAST.root = declareParameter_AST;
        currentAST.child = declareParameter_AST!=null &&declareParameter_AST.getFirstChild()!=null ?
          declareParameter_AST.getFirstChild() : declareParameter_AST;
        currentAST.advanceChildToEnd();
      }
      declareParameter_AST = (JQLAST)currentAST.root;
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_4);
      } else {
        throw ex;
      }
    }
    returnAST = declareParameter_AST;
  }
 
  public final void type() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST type_AST = null;
   
    try {      // for error handling
      switch ( LA(1)) {
      case IDENT:
      {
        qualifiedName();
        astFactory.addASTChild(currentAST, returnAST);
        type_AST = (JQLAST)currentAST.root;
        break;
      }
      case BOOLEAN:
      case BYTE:
      case CHAR:
      case SHORT:
      case INT:
      case FLOAT:
      case LONG:
      case DOUBLE:
      {
        primitiveType();
        astFactory.addASTChild(currentAST, returnAST);
        type_AST = (JQLAST)currentAST.root;
        break;
      }
      default:
      {
        throw new NoViableAltException(LT(1), getFilename());
      }
      }
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_5);
      } else {
        throw ex;
      }
    }
    returnAST = type_AST;
  }
 
  public final void parseVariables() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST parseVariables_AST = null;
   
    errorMsg.setContext("declareVariables")//NOI18N
   
   
    try {      // for error handling
      {
      switch ( LA(1)) {
      case BOOLEAN:
      case BYTE:
      case CHAR:
      case SHORT:
      case INT:
      case FLOAT:
      case LONG:
      case DOUBLE:
      case IDENT:
      {
        declareVariable();
        astFactory.addASTChild(currentAST, returnAST);
        {
        _loop97:
        do {
          if ((LA(1)==SEMI) && (_tokenSet_3.member(LA(2)))) {
            match(SEMI);
            declareVariable();
            astFactory.addASTChild(currentAST, returnAST);
          }
          else {
            break _loop97;
          }
         
        } while (true);
        }
        break;
      }
      case EOF:
      case SEMI:
      {
        break;
      }
      default:
      {
        throw new NoViableAltException(LT(1), getFilename());
      }
      }
      }
      {
      switch ( LA(1)) {
      case SEMI:
      {
        match(SEMI);
        break;
      }
      case EOF:
      {
        break;
      }
      default:
      {
        throw new NoViableAltException(LT(1), getFilename());
      }
      }
      }
      match(Token.EOF_TYPE);
      parseVariables_AST = (JQLAST)currentAST.root;
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_0);
      } else {
        throw ex;
      }
    }
    returnAST = parseVariables_AST;
  }
 
  public final void declareVariable() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST declareVariable_AST = null;
   
    try {      // for error handling
      type();
      astFactory.addASTChild(currentAST, returnAST);
      JQLAST tmp14_AST = null;
      tmp14_AST = (JQLAST)astFactory.create(LT(1));
      astFactory.addASTChild(currentAST, tmp14_AST);
      match(IDENT);
      if ( inputState.guessing==0 ) {
        declareVariable_AST = (JQLAST)currentAST.root;
        declareVariable_AST = (JQLAST)astFactory.make( (new ASTArray(2)).add((JQLAST)astFactory.create(VARIABLE_DEF,"variableDef")).add(declareVariable_AST));
        currentAST.root = declareVariable_AST;
        currentAST.child = declareVariable_AST!=null &&declareVariable_AST.getFirstChild()!=null ?
          declareVariable_AST.getFirstChild() : declareVariable_AST;
        currentAST.advanceChildToEnd();
      }
      declareVariable_AST = (JQLAST)currentAST.root;
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_1);
      } else {
        throw ex;
      }
    }
    returnAST = declareVariable_AST;
  }
 
  public final void parseOrdering() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST parseOrdering_AST = null;
   
    errorMsg.setContext("setOrdering")//NOI18N
   
   
    try {      // for error handling
      {
      switch ( LA(1)) {
      case THIS:
      case NULL:
      case TRUE:
      case FALSE:
      case LPAREN:
      case LNOT:
      case BNOT:
      case PLUS:
      case MINUS:
      case CHAR_LITERAL:
      case STRING_LITERAL:
      case INT_LITERAL:
      case IDENT:
      case LONG_LITERAL:
      case FLOAT_LITERAL:
      case DOUBLE_LITERAL:
      {
        orderSpec();
        astFactory.addASTChild(currentAST, returnAST);
        {
        _loop103:
        do {
          if ((LA(1)==COMMA) && (_tokenSet_6.member(LA(2)))) {
            match(COMMA);
            orderSpec();
            astFactory.addASTChild(currentAST, returnAST);
          }
          else {
            break _loop103;
          }
         
        } while (true);
        }
        break;
      }
      case EOF:
      case COMMA:
      {
        break;
      }
      default:
      {
        throw new NoViableAltException(LT(1), getFilename());
      }
      }
      }
      {
      switch ( LA(1)) {
      case COMMA:
      {
        match(COMMA);
        break;
      }
      case EOF:
      {
        break;
      }
      default:
      {
        throw new NoViableAltException(LT(1), getFilename());
      }
      }
      }
      match(Token.EOF_TYPE);
      parseOrdering_AST = (JQLAST)currentAST.root;
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_0);
      } else {
        throw ex;
      }
    }
    returnAST = parseOrdering_AST;
  }
 
  public final void orderSpec() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST orderSpec_AST = null;
    JQLAST e_AST = null;
    JQLAST d_AST = null;
   
    try {      // for error handling
      expression();
      e_AST = (JQLAST)returnAST;
      direction();
      d_AST = (JQLAST)returnAST;
      if ( inputState.guessing==0 ) {
        orderSpec_AST = (JQLAST)currentAST.root;
        orderSpec_AST = (JQLAST)astFactory.make( (new ASTArray(3)).add((JQLAST)astFactory.create(ORDERING_DEF,"orderingDef")).add(d_AST).add(e_AST));
        currentAST.root = orderSpec_AST;
        currentAST.child = orderSpec_AST!=null &&orderSpec_AST.getFirstChild()!=null ?
          orderSpec_AST.getFirstChild() : orderSpec_AST;
        currentAST.advanceChildToEnd();
      }
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_4);
      } else {
        throw ex;
      }
    }
    returnAST = orderSpec_AST;
  }
 
  public final void expression() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST expression_AST = null;
   
    try {      // for error handling
      conditionalOrExpression();
      astFactory.addASTChild(currentAST, returnAST);
      expression_AST = (JQLAST)currentAST.root;
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_7);
      } else {
        throw ex;
      }
    }
    returnAST = expression_AST;
  }
 
  public final void direction() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST direction_AST = null;
   
    try {      // for error handling
      switch ( LA(1)) {
      case ASCENDING:
      {
        JQLAST tmp18_AST = null;
        tmp18_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.addASTChild(currentAST, tmp18_AST);
        match(ASCENDING);
        direction_AST = (JQLAST)currentAST.root;
        break;
      }
      case DESCENDING:
      {
        JQLAST tmp19_AST = null;
        tmp19_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.addASTChild(currentAST, tmp19_AST);
        match(DESCENDING);
        direction_AST = (JQLAST)currentAST.root;
        break;
      }
      default:
      {
        throw new NoViableAltException(LT(1), getFilename());
      }
      }
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_4);
      } else {
        throw ex;
      }
    }
    returnAST = direction_AST;
  }
 
  public final void parseResult() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST parseResult_AST = null;
    JQLAST a_AST = null;
    JQLAST e_AST = null;
   
    errorMsg.setContext("setResult")//NOI18N
   
   
    try {      // for error handling
      {
      switch ( LA(1)) {
      case THIS:
      case DISTINCT:
      case NULL:
      case TRUE:
      case FALSE:
      case AVG:
      case MAX:
      case MIN:
      case SUM:
      case COUNT:
      case LPAREN:
      case LNOT:
      case BNOT:
      case PLUS:
      case MINUS:
      case CHAR_LITERAL:
      case STRING_LITERAL:
      case INT_LITERAL:
      case IDENT:
      case LONG_LITERAL:
      case FLOAT_LITERAL:
      case DOUBLE_LITERAL:
      {
        {
        switch ( LA(1)) {
        case DISTINCT:
        {
          JQLAST tmp20_AST = null;
          tmp20_AST = (JQLAST)astFactory.create(LT(1));
          astFactory.makeASTRoot(currentAST, tmp20_AST);
          match(DISTINCT);
          break;
        }
        case THIS:
        case NULL:
        case TRUE:
        case FALSE:
        case AVG:
        case MAX:
        case MIN:
        case SUM:
        case COUNT:
        case LPAREN:
        case LNOT:
        case BNOT:
        case PLUS:
        case MINUS:
        case CHAR_LITERAL:
        case STRING_LITERAL:
        case INT_LITERAL:
        case IDENT:
        case LONG_LITERAL:
        case FLOAT_LITERAL:
        case DOUBLE_LITERAL:
        {
          break;
        }
        default:
        {
          throw new NoViableAltException(LT(1), getFilename());
        }
        }
        }
        {
        switch ( LA(1)) {
        case AVG:
        case MAX:
        case MIN:
        case SUM:
        case COUNT:
        {
          aggregateExpr();
          a_AST = (JQLAST)returnAST;
          astFactory.addASTChild(currentAST, returnAST);
          break;
        }
        case THIS:
        case NULL:
        case TRUE:
        case FALSE:
        case LPAREN:
        case LNOT:
        case BNOT:
        case PLUS:
        case MINUS:
        case CHAR_LITERAL:
        case STRING_LITERAL:
        case INT_LITERAL:
        case IDENT:
        case LONG_LITERAL:
        case FLOAT_LITERAL:
        case DOUBLE_LITERAL:
        {
          expression();
          e_AST = (JQLAST)returnAST;
          astFactory.addASTChild(currentAST, returnAST);
          break;
        }
        default:
        {
          throw new NoViableAltException(LT(1), getFilename());
        }
        }
        }
        break;
      }
      case EOF:
      {
        break;
      }
      default:
      {
        throw new NoViableAltException(LT(1), getFilename());
      }
      }
      }
      match(Token.EOF_TYPE);
      if ( inputState.guessing==0 ) {
        parseResult_AST = (JQLAST)currentAST.root;
       
        // create RESULT_DEF node if there was a projection
        if (a_AST != null) {
        // skip a possible first distinct in case of an aggregate expr
        parseResult_AST = (JQLAST)astFactory.make( (new ASTArray(2)).add((JQLAST)astFactory.create(RESULT_DEF,"resultDef")).add(a_AST));
        }
        else if (e_AST != null) {
        parseResult_AST = (JQLAST)astFactory.make( (new ASTArray(2)).add((JQLAST)astFactory.create(RESULT_DEF,"resultDef")).add(parseResult_AST)); //NOI18N
        }
       
        currentAST.root = parseResult_AST;
        currentAST.child = parseResult_AST!=null &&parseResult_AST.getFirstChild()!=null ?
          parseResult_AST.getFirstChild() : parseResult_AST;
        currentAST.advanceChildToEnd();
      }
      parseResult_AST = (JQLAST)currentAST.root;
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_0);
      } else {
        throw ex;
      }
    }
    returnAST = parseResult_AST;
  }
 
  public final void aggregateExpr() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST aggregateExpr_AST = null;
   
    try {      // for error handling
      {
      switch ( LA(1)) {
      case AVG:
      {
        JQLAST tmp22_AST = null;
        tmp22_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.makeASTRoot(currentAST, tmp22_AST);
        match(AVG);
        break;
      }
      case MAX:
      {
        JQLAST tmp23_AST = null;
        tmp23_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.makeASTRoot(currentAST, tmp23_AST);
        match(MAX);
        break;
      }
      case MIN:
      {
        JQLAST tmp24_AST = null;
        tmp24_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.makeASTRoot(currentAST, tmp24_AST);
        match(MIN);
        break;
      }
      case SUM:
      {
        JQLAST tmp25_AST = null;
        tmp25_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.makeASTRoot(currentAST, tmp25_AST);
        match(SUM);
        break;
      }
      case COUNT:
      {
        JQLAST tmp26_AST = null;
        tmp26_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.makeASTRoot(currentAST, tmp26_AST);
        match(COUNT);
        break;
      }
      default:
      {
        throw new NoViableAltException(LT(1), getFilename());
      }
      }
      }
      match(LPAREN);
      distinctExpr();
      astFactory.addASTChild(currentAST, returnAST);
      match(RPAREN);
      aggregateExpr_AST = (JQLAST)currentAST.root;
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_0);
      } else {
        throw ex;
      }
    }
    returnAST = aggregateExpr_AST;
  }
 
  public final void distinctExpr() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST distinctExpr_AST = null;
    JQLAST e_AST = null;
   
    try {      // for error handling
      switch ( LA(1)) {
      case DISTINCT:
      {
        JQLAST tmp29_AST = null;
        tmp29_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.makeASTRoot(currentAST, tmp29_AST);
        match(DISTINCT);
        expression();
        e_AST = (JQLAST)returnAST;
        astFactory.addASTChild(currentAST, returnAST);
        distinctExpr_AST = (JQLAST)currentAST.root;
        break;
      }
      case THIS:
      case NULL:
      case TRUE:
      case FALSE:
      case LPAREN:
      case LNOT:
      case BNOT:
      case PLUS:
      case MINUS:
      case CHAR_LITERAL:
      case STRING_LITERAL:
      case INT_LITERAL:
      case IDENT:
      case LONG_LITERAL:
      case FLOAT_LITERAL:
      case DOUBLE_LITERAL:
      {
        expression();
        astFactory.addASTChild(currentAST, returnAST);
        distinctExpr_AST = (JQLAST)currentAST.root;
        break;
      }
      default:
      {
        throw new NoViableAltException(LT(1), getFilename());
      }
      }
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_8);
      } else {
        throw ex;
      }
    }
    returnAST = distinctExpr_AST;
  }
 
  public final void parseFilter() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST parseFilter_AST = null;
    JQLAST e_AST = null;
   
    errorMsg.setContext("setFilter")//NOI18N
   
   
    try {      // for error handling
      expression();
      e_AST = (JQLAST)returnAST;
      match(Token.EOF_TYPE);
      if ( inputState.guessing==0 ) {
        parseFilter_AST = (JQLAST)currentAST.root;
        parseFilter_AST = (JQLAST)astFactory.make( (new ASTArray(2)).add((JQLAST)astFactory.create(FILTER_DEF,"filterDef")).add(e_AST));
        currentAST.root = parseFilter_AST;
        currentAST.child = parseFilter_AST!=null &&parseFilter_AST.getFirstChild()!=null ?
          parseFilter_AST.getFirstChild() : parseFilter_AST;
        currentAST.advanceChildToEnd();
      }
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_0);
      } else {
        throw ex;
      }
    }
    returnAST = parseFilter_AST;
  }
 
  public final void expressionList() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST expressionList_AST = null;
   
    try {      // for error handling
      expression();
      astFactory.addASTChild(currentAST, returnAST);
      {
      _loop117:
      do {
        if ((LA(1)==COMMA)) {
          match(COMMA);
          expression();
          astFactory.addASTChild(currentAST, returnAST);
        }
        else {
          break _loop117;
        }
       
      } while (true);
      }
      expressionList_AST = (JQLAST)currentAST.root;
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_8);
      } else {
        throw ex;
      }
    }
    returnAST = expressionList_AST;
  }
 
  public final void conditionalOrExpression() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST conditionalOrExpression_AST = null;
   
    try {      // for error handling
      conditionalAndExpression();
      astFactory.addASTChild(currentAST, returnAST);
      {
      _loop121:
      do {
        if ((LA(1)==OR)) {
          JQLAST tmp32_AST = null;
          tmp32_AST = (JQLAST)astFactory.create(LT(1));
          astFactory.makeASTRoot(currentAST, tmp32_AST);
          match(OR);
          conditionalAndExpression();
          astFactory.addASTChild(currentAST, returnAST);
        }
        else {
          break _loop121;
        }
       
      } while (true);
      }
      conditionalOrExpression_AST = (JQLAST)currentAST.root;
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_7);
      } else {
        throw ex;
      }
    }
    returnAST = conditionalOrExpression_AST;
  }
 
  public final void conditionalAndExpression() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST conditionalAndExpression_AST = null;
   
    try {      // for error handling
      inclusiveOrExpression();
      astFactory.addASTChild(currentAST, returnAST);
      {
      _loop124:
      do {
        if ((LA(1)==AND)) {
          JQLAST tmp33_AST = null;
          tmp33_AST = (JQLAST)astFactory.create(LT(1));
          astFactory.makeASTRoot(currentAST, tmp33_AST);
          match(AND);
          inclusiveOrExpression();
          astFactory.addASTChild(currentAST, returnAST);
        }
        else {
          break _loop124;
        }
       
      } while (true);
      }
      conditionalAndExpression_AST = (JQLAST)currentAST.root;
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_9);
      } else {
        throw ex;
      }
    }
    returnAST = conditionalAndExpression_AST;
  }
 
  public final void inclusiveOrExpression() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST inclusiveOrExpression_AST = null;
   
    try {      // for error handling
      exclusiveOrExpression();
      astFactory.addASTChild(currentAST, returnAST);
      {
      _loop127:
      do {
        if ((LA(1)==BOR)) {
          JQLAST tmp34_AST = null;
          tmp34_AST = (JQLAST)astFactory.create(LT(1));
          astFactory.makeASTRoot(currentAST, tmp34_AST);
          match(BOR);
          exclusiveOrExpression();
          astFactory.addASTChild(currentAST, returnAST);
        }
        else {
          break _loop127;
        }
       
      } while (true);
      }
      inclusiveOrExpression_AST = (JQLAST)currentAST.root;
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_10);
      } else {
        throw ex;
      }
    }
    returnAST = inclusiveOrExpression_AST;
  }
 
  public final void exclusiveOrExpression() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST exclusiveOrExpression_AST = null;
   
    try {      // for error handling
      andExpression();
      astFactory.addASTChild(currentAST, returnAST);
      {
      _loop130:
      do {
        if ((LA(1)==BXOR)) {
          JQLAST tmp35_AST = null;
          tmp35_AST = (JQLAST)astFactory.create(LT(1));
          astFactory.makeASTRoot(currentAST, tmp35_AST);
          match(BXOR);
          andExpression();
          astFactory.addASTChild(currentAST, returnAST);
        }
        else {
          break _loop130;
        }
       
      } while (true);
      }
      exclusiveOrExpression_AST = (JQLAST)currentAST.root;
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_11);
      } else {
        throw ex;
      }
    }
    returnAST = exclusiveOrExpression_AST;
  }
 
  public final void andExpression() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST andExpression_AST = null;
   
    try {      // for error handling
      equalityExpression();
      astFactory.addASTChild(currentAST, returnAST);
      {
      _loop133:
      do {
        if ((LA(1)==BAND)) {
          JQLAST tmp36_AST = null;
          tmp36_AST = (JQLAST)astFactory.create(LT(1));
          astFactory.makeASTRoot(currentAST, tmp36_AST);
          match(BAND);
          equalityExpression();
          astFactory.addASTChild(currentAST, returnAST);
        }
        else {
          break _loop133;
        }
       
      } while (true);
      }
      andExpression_AST = (JQLAST)currentAST.root;
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_12);
      } else {
        throw ex;
      }
    }
    returnAST = andExpression_AST;
  }
 
  public final void equalityExpression() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST equalityExpression_AST = null;
   
    try {      // for error handling
      relationalExpression();
      astFactory.addASTChild(currentAST, returnAST);
      {
      _loop137:
      do {
        if ((LA(1)==EQUAL||LA(1)==NOT_EQUAL)) {
          {
          switch ( LA(1)) {
          case NOT_EQUAL:
          {
            JQLAST tmp37_AST = null;
            tmp37_AST = (JQLAST)astFactory.create(LT(1));
            astFactory.makeASTRoot(currentAST, tmp37_AST);
            match(NOT_EQUAL);
            break;
          }
          case EQUAL:
          {
            JQLAST tmp38_AST = null;
            tmp38_AST = (JQLAST)astFactory.create(LT(1));
            astFactory.makeASTRoot(currentAST, tmp38_AST);
            match(EQUAL);
            break;
          }
          default:
          {
            throw new NoViableAltException(LT(1), getFilename());
          }
          }
          }
          relationalExpression();
          astFactory.addASTChild(currentAST, returnAST);
        }
        else {
          break _loop137;
        }
       
      } while (true);
      }
      equalityExpression_AST = (JQLAST)currentAST.root;
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_13);
      } else {
        throw ex;
      }
    }
    returnAST = equalityExpression_AST;
  }
 
  public final void relationalExpression() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST relationalExpression_AST = null;
   
    try {      // for error handling
      additiveExpression();
      astFactory.addASTChild(currentAST, returnAST);
      {
      _loop141:
      do {
        if (((LA(1) >= GE && LA(1) <= LT))) {
          {
          switch ( LA(1)) {
          case LT:
          {
            JQLAST tmp39_AST = null;
            tmp39_AST = (JQLAST)astFactory.create(LT(1));
            astFactory.makeASTRoot(currentAST, tmp39_AST);
            match(LT);
            break;
          }
          case GT:
          {
            JQLAST tmp40_AST = null;
            tmp40_AST = (JQLAST)astFactory.create(LT(1));
            astFactory.makeASTRoot(currentAST, tmp40_AST);
            match(GT);
            break;
          }
          case LE:
          {
            JQLAST tmp41_AST = null;
            tmp41_AST = (JQLAST)astFactory.create(LT(1));
            astFactory.makeASTRoot(currentAST, tmp41_AST);
            match(LE);
            break;
          }
          case GE:
          {
            JQLAST tmp42_AST = null;
            tmp42_AST = (JQLAST)astFactory.create(LT(1));
            astFactory.makeASTRoot(currentAST, tmp42_AST);
            match(GE);
            break;
          }
          default:
          {
            throw new NoViableAltException(LT(1), getFilename());
          }
          }
          }
          additiveExpression();
          astFactory.addASTChild(currentAST, returnAST);
        }
        else {
          break _loop141;
        }
       
      } while (true);
      }
      relationalExpression_AST = (JQLAST)currentAST.root;
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_14);
      } else {
        throw ex;
      }
    }
    returnAST = relationalExpression_AST;
  }
 
  public final void additiveExpression() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST additiveExpression_AST = null;
   
    try {      // for error handling
      multiplicativeExpression();
      astFactory.addASTChild(currentAST, returnAST);
      {
      _loop145:
      do {
        if ((LA(1)==PLUS||LA(1)==MINUS)) {
          {
          switch ( LA(1)) {
          case PLUS:
          {
            JQLAST tmp43_AST = null;
            tmp43_AST = (JQLAST)astFactory.create(LT(1));
            astFactory.makeASTRoot(currentAST, tmp43_AST);
            match(PLUS);
            break;
          }
          case MINUS:
          {
            JQLAST tmp44_AST = null;
            tmp44_AST = (JQLAST)astFactory.create(LT(1));
            astFactory.makeASTRoot(currentAST, tmp44_AST);
            match(MINUS);
            break;
          }
          default:
          {
            throw new NoViableAltException(LT(1), getFilename());
          }
          }
          }
          multiplicativeExpression();
          astFactory.addASTChild(currentAST, returnAST);
        }
        else {
          break _loop145;
        }
       
      } while (true);
      }
      additiveExpression_AST = (JQLAST)currentAST.root;
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_15);
      } else {
        throw ex;
      }
    }
    returnAST = additiveExpression_AST;
  }
 
  public final void multiplicativeExpression() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST multiplicativeExpression_AST = null;
   
    try {      // for error handling
      unaryExpression();
      astFactory.addASTChild(currentAST, returnAST);
      {
      _loop149:
      do {
        if ((LA(1)==DIV||LA(1)==STAR||LA(1)==MOD)) {
          {
          switch ( LA(1)) {
          case STAR:
          {
            JQLAST tmp45_AST = null;
            tmp45_AST = (JQLAST)astFactory.create(LT(1));
            astFactory.makeASTRoot(currentAST, tmp45_AST);
            match(STAR);
            break;
          }
          case DIV:
          {
            JQLAST tmp46_AST = null;
            tmp46_AST = (JQLAST)astFactory.create(LT(1));
            astFactory.makeASTRoot(currentAST, tmp46_AST);
            match(DIV);
            break;
          }
          case MOD:
          {
            JQLAST tmp47_AST = null;
            tmp47_AST = (JQLAST)astFactory.create(LT(1));
            astFactory.makeASTRoot(currentAST, tmp47_AST);
            match(MOD);
            break;
          }
          default:
          {
            throw new NoViableAltException(LT(1), getFilename());
          }
          }
          }
          unaryExpression();
          astFactory.addASTChild(currentAST, returnAST);
        }
        else {
          break _loop149;
        }
       
      } while (true);
      }
      multiplicativeExpression_AST = (JQLAST)currentAST.root;
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_16);
      } else {
        throw ex;
      }
    }
    returnAST = multiplicativeExpression_AST;
  }
 
  public final void unaryExpression() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST unaryExpression_AST = null;
   
    try {      // for error handling
      switch ( LA(1)) {
      case MINUS:
      {
        JQLAST tmp48_AST = null;
        tmp48_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.makeASTRoot(currentAST, tmp48_AST);
        match(MINUS);
        if ( inputState.guessing==0 ) {
          tmp48_AST.setType(UNARY_MINUS);
        }
        unaryExpression();
        astFactory.addASTChild(currentAST, returnAST);
        unaryExpression_AST = (JQLAST)currentAST.root;
        break;
      }
      case PLUS:
      {
        JQLAST tmp49_AST = null;
        tmp49_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.makeASTRoot(currentAST, tmp49_AST);
        match(PLUS);
        if ( inputState.guessing==0 ) {
          tmp49_AST.setType(UNARY_PLUS);
        }
        unaryExpression();
        astFactory.addASTChild(currentAST, returnAST);
        unaryExpression_AST = (JQLAST)currentAST.root;
        break;
      }
      case THIS:
      case NULL:
      case TRUE:
      case FALSE:
      case LPAREN:
      case LNOT:
      case BNOT:
      case CHAR_LITERAL:
      case STRING_LITERAL:
      case INT_LITERAL:
      case IDENT:
      case LONG_LITERAL:
      case FLOAT_LITERAL:
      case DOUBLE_LITERAL:
      {
        unaryExpressionNotPlusMinus();
        astFactory.addASTChild(currentAST, returnAST);
        unaryExpression_AST = (JQLAST)currentAST.root;
        break;
      }
      default:
      {
        throw new NoViableAltException(LT(1), getFilename());
      }
      }
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_17);
      } else {
        throw ex;
      }
    }
    returnAST = unaryExpression_AST;
  }
 
  public final void unaryExpressionNotPlusMinus() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST unaryExpressionNotPlusMinus_AST = null;
    Token  lp = null;
    JQLAST lp_AST = null;
   
    try {      // for error handling
      switch ( LA(1)) {
      case BNOT:
      {
        JQLAST tmp50_AST = null;
        tmp50_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.makeASTRoot(currentAST, tmp50_AST);
        match(BNOT);
        unaryExpression();
        astFactory.addASTChild(currentAST, returnAST);
        unaryExpressionNotPlusMinus_AST = (JQLAST)currentAST.root;
        break;
      }
      case LNOT:
      {
        JQLAST tmp51_AST = null;
        tmp51_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.makeASTRoot(currentAST, tmp51_AST);
        match(LNOT);
        unaryExpression();
        astFactory.addASTChild(currentAST, returnAST);
        unaryExpressionNotPlusMinus_AST = (JQLAST)currentAST.root;
        break;
      }
      default:
        boolean synPredMatched153 = false;
        if (((LA(1)==LPAREN) && (_tokenSet_3.member(LA(2))))) {
          int _m153 = mark();
          synPredMatched153 = true;
          inputState.guessing++;
          try {
            {
            match(LPAREN);
            type();
            match(RPAREN);
            unaryExpression();
            }
          }
          catch (RecognitionException pe) {
            synPredMatched153 = false;
          }
          rewind(_m153);
inputState.guessing--;
        }
        if ( synPredMatched153 ) {
          lp = LT(1);
          lp_AST = (JQLAST)astFactory.create(lp);
          astFactory.makeASTRoot(currentAST, lp_AST);
          match(LPAREN);
          if ( inputState.guessing==0 ) {
            lp_AST.setType(TYPECAST);
          }
          type();
          astFactory.addASTChild(currentAST, returnAST);
          match(RPAREN);
          unaryExpression();
          astFactory.addASTChild(currentAST, returnAST);
          unaryExpressionNotPlusMinus_AST = (JQLAST)currentAST.root;
        }
        else if ((_tokenSet_18.member(LA(1))) && (_tokenSet_19.member(LA(2)))) {
          postfixExpression();
          astFactory.addASTChild(currentAST, returnAST);
          unaryExpressionNotPlusMinus_AST = (JQLAST)currentAST.root;
        }
      else {
        throw new NoViableAltException(LT(1), getFilename());
      }
      }
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_17);
      } else {
        throw ex;
      }
    }
    returnAST = unaryExpressionNotPlusMinus_AST;
  }
 
  public final void postfixExpression() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST postfixExpression_AST = null;
   
    try {      // for error handling
      primary();
      astFactory.addASTChild(currentAST, returnAST);
      {
      _loop157:
      do {
        if ((LA(1)==DOT)) {
          JQLAST tmp53_AST = null;
          tmp53_AST = (JQLAST)astFactory.create(LT(1));
          astFactory.makeASTRoot(currentAST, tmp53_AST);
          match(DOT);
          JQLAST tmp54_AST = null;
          tmp54_AST = (JQLAST)astFactory.create(LT(1));
          astFactory.addASTChild(currentAST, tmp54_AST);
          match(IDENT);
          {
          switch ( LA(1)) {
          case LPAREN:
          {
            argList();
            astFactory.addASTChild(currentAST, returnAST);
            break;
          }
          case EOF:
          case ASCENDING:
          case DESCENDING:
          case RPAREN:
          case COMMA:
          case EQUAL:
          case NOT_EQUAL:
          case DIV:
          case PLUS:
          case MINUS:
          case STAR:
          case MOD:
          case GE:
          case GT:
          case LE:
          case LT:
          case BXOR:
          case BOR:
          case OR:
          case BAND:
          case AND:
          case DOT:
          {
            break;
          }
          default:
          {
            throw new NoViableAltException(LT(1), getFilename());
          }
          }
          }
        }
        else {
          break _loop157;
        }
       
      } while (true);
      }
      postfixExpression_AST = (JQLAST)currentAST.root;
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_17);
      } else {
        throw ex;
      }
    }
    returnAST = postfixExpression_AST;
  }
 
  public final void primary() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST primary_AST = null;
   
    try {      // for error handling
      switch ( LA(1)) {
      case IDENT:
      {
        JQLAST tmp55_AST = null;
        tmp55_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.addASTChild(currentAST, tmp55_AST);
        match(IDENT);
        primary_AST = (JQLAST)currentAST.root;
        break;
      }
      case NULL:
      case TRUE:
      case FALSE:
      case CHAR_LITERAL:
      case STRING_LITERAL:
      case INT_LITERAL:
      case LONG_LITERAL:
      case FLOAT_LITERAL:
      case DOUBLE_LITERAL:
      {
        literal();
        astFactory.addASTChild(currentAST, returnAST);
        primary_AST = (JQLAST)currentAST.root;
        break;
      }
      case THIS:
      {
        JQLAST tmp56_AST = null;
        tmp56_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.addASTChild(currentAST, tmp56_AST);
        match(THIS);
        primary_AST = (JQLAST)currentAST.root;
        break;
      }
      case LPAREN:
      {
        match(LPAREN);
        expression();
        astFactory.addASTChild(currentAST, returnAST);
        match(RPAREN);
        primary_AST = (JQLAST)currentAST.root;
        break;
      }
      default:
      {
        throw new NoViableAltException(LT(1), getFilename());
      }
      }
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_20);
      } else {
        throw ex;
      }
    }
    returnAST = primary_AST;
  }
 
  public final void argList() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST argList_AST = null;
   
    try {      // for error handling
      match(LPAREN);
      {
      switch ( LA(1)) {
      case THIS:
      case NULL:
      case TRUE:
      case FALSE:
      case LPAREN:
      case LNOT:
      case BNOT:
      case PLUS:
      case MINUS:
      case CHAR_LITERAL:
      case STRING_LITERAL:
      case INT_LITERAL:
      case IDENT:
      case LONG_LITERAL:
      case FLOAT_LITERAL:
      case DOUBLE_LITERAL:
      {
        expressionList();
        astFactory.addASTChild(currentAST, returnAST);
        if ( inputState.guessing==0 ) {
          argList_AST = (JQLAST)currentAST.root;
          argList_AST = (JQLAST)astFactory.make( (new ASTArray(2)).add((JQLAST)astFactory.create(ARG_LIST,"ARG_LIST")).add(argList_AST));
          currentAST.root = argList_AST;
          currentAST.child = argList_AST!=null &&argList_AST.getFirstChild()!=null ?
            argList_AST.getFirstChild() : argList_AST;
          currentAST.advanceChildToEnd();
        }
        break;
      }
      case RPAREN:
      {
        if ( inputState.guessing==0 ) {
          argList_AST = (JQLAST)currentAST.root;
          argList_AST = (JQLAST)astFactory.create(ARG_LIST,"ARG_LIST");
          currentAST.root = argList_AST;
          currentAST.child = argList_AST!=null &&argList_AST.getFirstChild()!=null ?
            argList_AST.getFirstChild() : argList_AST;
          currentAST.advanceChildToEnd();
        }
        break;
      }
      default:
      {
        throw new NoViableAltException(LT(1), getFilename());
      }
      }
      }
      match(RPAREN);
      argList_AST = (JQLAST)currentAST.root;
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_20);
      } else {
        throw ex;
      }
    }
    returnAST = argList_AST;
  }
 
  public final void literal() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST literal_AST = null;
    Token  c = null;
    JQLAST c_AST = null;
    Token  s = null;
    JQLAST s_AST = null;
   
    try {      // for error handling
      switch ( LA(1)) {
      case TRUE:
      {
        JQLAST tmp61_AST = null;
        tmp61_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.addASTChild(currentAST, tmp61_AST);
        match(TRUE);
        literal_AST = (JQLAST)currentAST.root;
        break;
      }
      case FALSE:
      {
        JQLAST tmp62_AST = null;
        tmp62_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.addASTChild(currentAST, tmp62_AST);
        match(FALSE);
        literal_AST = (JQLAST)currentAST.root;
        break;
      }
      case INT_LITERAL:
      {
        JQLAST tmp63_AST = null;
        tmp63_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.addASTChild(currentAST, tmp63_AST);
        match(INT_LITERAL);
        literal_AST = (JQLAST)currentAST.root;
        break;
      }
      case LONG_LITERAL:
      {
        JQLAST tmp64_AST = null;
        tmp64_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.addASTChild(currentAST, tmp64_AST);
        match(LONG_LITERAL);
        literal_AST = (JQLAST)currentAST.root;
        break;
      }
      case FLOAT_LITERAL:
      {
        JQLAST tmp65_AST = null;
        tmp65_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.addASTChild(currentAST, tmp65_AST);
        match(FLOAT_LITERAL);
        literal_AST = (JQLAST)currentAST.root;
        break;
      }
      case DOUBLE_LITERAL:
      {
        JQLAST tmp66_AST = null;
        tmp66_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.addASTChild(currentAST, tmp66_AST);
        match(DOUBLE_LITERAL);
        literal_AST = (JQLAST)currentAST.root;
        break;
      }
      case CHAR_LITERAL:
      {
        c = LT(1);
        c_AST = (JQLAST)astFactory.create(c);
        astFactory.addASTChild(currentAST, c_AST);
        match(CHAR_LITERAL);
        if ( inputState.guessing==0 ) {
         
          // strip quotes from the token text
          String text = c_AST.getText();
          c_AST.setText(text.substring(1,text.length()-1));
         
        }
        literal_AST = (JQLAST)currentAST.root;
        break;
      }
      case STRING_LITERAL:
      {
        s = LT(1);
        s_AST = (JQLAST)astFactory.create(s);
        astFactory.addASTChild(currentAST, s_AST);
        match(STRING_LITERAL);
        if ( inputState.guessing==0 ) {
         
          // strip quotes from the token text
          String text = s_AST.getText();
          s_AST.setText(text.substring(1,text.length()-1));
         
        }
        literal_AST = (JQLAST)currentAST.root;
        break;
      }
      case NULL:
      {
        JQLAST tmp67_AST = null;
        tmp67_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.addASTChild(currentAST, tmp67_AST);
        match(NULL);
        literal_AST = (JQLAST)currentAST.root;
        break;
      }
      default:
      {
        throw new NoViableAltException(LT(1), getFilename());
      }
      }
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_20);
      } else {
        throw ex;
      }
    }
    returnAST = literal_AST;
  }
 
  public final void primitiveType() throws RecognitionException, TokenStreamException {
   
    returnAST = null;
    ASTPair currentAST = new ASTPair();
    JQLAST primitiveType_AST = null;
   
    try {      // for error handling
      switch ( LA(1)) {
      case BOOLEAN:
      {
        JQLAST tmp68_AST = null;
        tmp68_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.addASTChild(currentAST, tmp68_AST);
        match(BOOLEAN);
        primitiveType_AST = (JQLAST)currentAST.root;
        break;
      }
      case BYTE:
      {
        JQLAST tmp69_AST = null;
        tmp69_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.addASTChild(currentAST, tmp69_AST);
        match(BYTE);
        primitiveType_AST = (JQLAST)currentAST.root;
        break;
      }
      case CHAR:
      {
        JQLAST tmp70_AST = null;
        tmp70_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.addASTChild(currentAST, tmp70_AST);
        match(CHAR);
        primitiveType_AST = (JQLAST)currentAST.root;
        break;
      }
      case SHORT:
      {
        JQLAST tmp71_AST = null;
        tmp71_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.addASTChild(currentAST, tmp71_AST);
        match(SHORT);
        primitiveType_AST = (JQLAST)currentAST.root;
        break;
      }
      case INT:
      {
        JQLAST tmp72_AST = null;
        tmp72_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.addASTChild(currentAST, tmp72_AST);
        match(INT);
        primitiveType_AST = (JQLAST)currentAST.root;
        break;
      }
      case FLOAT:
      {
        JQLAST tmp73_AST = null;
        tmp73_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.addASTChild(currentAST, tmp73_AST);
        match(FLOAT);
        primitiveType_AST = (JQLAST)currentAST.root;
        break;
      }
      case LONG:
      {
        JQLAST tmp74_AST = null;
        tmp74_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.addASTChild(currentAST, tmp74_AST);
        match(LONG);
        primitiveType_AST = (JQLAST)currentAST.root;
        break;
      }
      case DOUBLE:
      {
        JQLAST tmp75_AST = null;
        tmp75_AST = (JQLAST)astFactory.create(LT(1));
        astFactory.addASTChild(currentAST, tmp75_AST);
        match(DOUBLE);
        primitiveType_AST = (JQLAST)currentAST.root;
        break;
      }
      default:
      {
        throw new NoViableAltException(LT(1), getFilename());
      }
      }
    }
    catch (RecognitionException ex) {
      if (inputState.guessing==0) {
        reportError(ex);
        recover(ex,_tokenSet_5);
      } else {
        throw ex;
      }
    }
    returnAST = primitiveType_AST;
  }
 
 
  public static final String[] _tokenNames = {
    "<0>",
    "EOF",
    "<2>",
    "NULL_TREE_LOOKAHEAD",
    "\"import\"",
    "\"this\"",
    "\"ascending\"",
    "\"descending\"",
    "\"distinct\"",
    "\"boolean\"",
    "\"byte\"",
    "\"char\"",
    "\"short\"",
    "\"int\"",
    "\"float\"",
    "\"long\"",
    "\"double\"",
    "\"null\"",
    "\"true\"",
    "\"false\"",
    "\"avg\"",
    "\"max\"",
    "\"min\"",
    "\"sum\"",
    "\"count\"",
    "LPAREN",
    "RPAREN",
    "COMMA",
    "EQUAL",
    "LNOT",
    "BNOT",
    "NOT_EQUAL",
    "DIV",
    "PLUS",
    "MINUS",
    "STAR",
    "MOD",
    "GE",
    "GT",
    "LE",
    "LT",
    "BXOR",
    "BOR",
    "OR",
    "BAND",
    "AND",
    "SEMI",
    "WS",
    "NEWLINE",
    "CHAR_LITERAL",
    "STRING_LITERAL",
    "ESC",
    "HEX_DIGIT",
    "INT_LITERAL",
    "EXPONENT",
    "FLOATINGPOINT_SUFFIX",
    "an identifier",
    "UNICODE_ESCAPE",
    "QUERY",
    "CLASS_DEF",
    "IMPORT_DEF",
    "PARAMETER_DEF",
    "VARIABLE_DEF",
    "ORDERING_DEF",
    "FILTER_DEF",
    "ARG_LIST",
    "UNARY_MINUS",
    "UNARY_PLUS",
    "TYPECAST",
    "OBJECT_EQUAL",
    "OBJECT_NOT_EQUAL",
    "COLLECTION_EQUAL",
    "COLLECTION_NOT_EQUAL",
    "CONCAT",
    "FIELD_ACCESS",
    "STATIC_FIELD_ACCESS",
    "CONTAINS",
    "NOT_CONTAINS",
    "NAVIGATION",
    "STARTS_WITH",
    "ENDS_WITH",
    "IS_EMPTY",
    "VARIABLE",
    "PARAMETER",
    "TYPENAME",
    "VALUE",
    "RESULT_DEF",
    "LIKE",
    "SUBSTRING",
    "INDEXOF",
    "LENGTH",
    "ABS",
    "SQRT",
    "NOT_IN",
    "DOT",
    "LONG_LITERAL",
    "FLOAT_LITERAL",
    "DOUBLE_LITERAL"
  };
 
  protected void buildTokenTypeASTClassMap() {
    tokenTypeToASTClassMap=null;
  };
 
  private static final long[] mk_tokenSet_0() {
    long[] data = { 2L, 0L};
    return data;
  }
  public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0());
  private static final long[] mk_tokenSet_1() {
    long[] data = { 70368744177666L, 0L};
    return data;
  }
  public static final BitSet _tokenSet_1 = new BitSet(mk_tokenSet_1());
  private static final long[] mk_tokenSet_2() {
    long[] data = { 72127962849214466L, 0L};
    return data;
  }
  public static final BitSet _tokenSet_2 = new BitSet(mk_tokenSet_2());
  private static final long[] mk_tokenSet_3() {
    long[] data = { 72057594038058496L, 0L};
    return data;
  }
  public static final BitSet _tokenSet_3 = new BitSet(mk_tokenSet_3());
  private static final long[] mk_tokenSet_4() {
    long[] data = { 134217730L, 0L};
    return data;
  }
  public static final BitSet _tokenSet_4 = new BitSet(mk_tokenSet_4());
  private static final long[] mk_tokenSet_5() {
    long[] data = { 72057594105036800L, 0L};
    return data;
  }
  public static final BitSet _tokenSet_5 = new BitSet(mk_tokenSet_5());
  private static final long[] mk_tokenSet_6() {
    long[] data = { 82753670567821344L, 15032385536L, 0L, 0L};
    return data;
  }
  public static final BitSet _tokenSet_6 = new BitSet(mk_tokenSet_6());
  private static final long[] mk_tokenSet_7() {
    long[] data = { 201326786L, 0L};
    return data;
  }
  public static final BitSet _tokenSet_7 = new BitSet(mk_tokenSet_7());
  private static final long[] mk_tokenSet_8() {
    long[] data = { 67108864L, 0L};
    return data;
  }
  public static final BitSet _tokenSet_8 = new BitSet(mk_tokenSet_8());
  private static final long[] mk_tokenSet_9() {
    long[] data = { 8796294348994L, 0L};
    return data;
  }
  public static final BitSet _tokenSet_9 = new BitSet(mk_tokenSet_9());
  private static final long[] mk_tokenSet_10() {
    long[] data = { 43980666437826L, 0L};
    return data;
  }
  public static final BitSet _tokenSet_10 = new BitSet(mk_tokenSet_10());
  private static final long[] mk_tokenSet_11() {
    long[] data = { 48378712948930L, 0L};
    return data;
  }
  public static final BitSet _tokenSet_11 = new BitSet(mk_tokenSet_11());
  private static final long[] mk_tokenSet_12() {
    long[] data = { 50577736204482L, 0L};
    return data;
  }
  public static final BitSet _tokenSet_12 = new BitSet(mk_tokenSet_12());
  private static final long[] mk_tokenSet_13() {
    long[] data = { 68169922248898L, 0L};
    return data;
  }
  public static final BitSet _tokenSet_13 = new BitSet(mk_tokenSet_13());
  private static final long[] mk_tokenSet_14() {
    long[] data = { 68172338168002L, 0L};
    return data;
  }
  public static final BitSet _tokenSet_14 = new BitSet(mk_tokenSet_14());
  private static final long[] mk_tokenSet_15() {
    long[] data = { 70233922470082L, 0L};
    return data;
  }
  public static final BitSet _tokenSet_15 = new BitSet(mk_tokenSet_15());
  private static final long[] mk_tokenSet_16() {
    long[] data = { 70259692273858L, 0L};
    return data;
  }
  public static final BitSet _tokenSet_16 = new BitSet(mk_tokenSet_16());
  private static final long[] mk_tokenSet_17() {
    long[] data = { 70367066456258L, 0L};
    return data;
  }
  public static final BitSet _tokenSet_17 = new BitSet(mk_tokenSet_17());
  private static final long[] mk_tokenSet_18() {
    long[] data = { 82753643187404832L, 15032385536L, 0L, 0L};
    return data;
  }
  public static final BitSet _tokenSet_18 = new BitSet(mk_tokenSet_18());
  private static final long[] mk_tokenSet_19() {
    long[] data = { 82824011864473826L, 16106127360L, 0L, 0L};
    return data;
  }
  public static final BitSet _tokenSet_19 = new BitSet(mk_tokenSet_19());
  private static final long[] mk_tokenSet_20() {
    long[] data = { 70367066456258L, 1073741824L, 0L, 0L};
    return data;
  }
  public static final BitSet _tokenSet_20 = new BitSet(mk_tokenSet_20());
 
  }
TOP

Related Classes of com.sun.jdo.spi.persistence.support.sqlstore.query.jqlc.JQLParser

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.