You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by us...@apache.org on 2013/09/13 20:22:18 UTC

svn commit: r1523046 [3/3] - in /lucene/dev/branches/lucene5207/lucene/expressions: build.xml src/java/org/apache/lucene/expressions/js/JavascriptLexer.java src/java/org/apache/lucene/expressions/js/JavascriptParser.java

Modified: lucene/dev/branches/lucene5207/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5207/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptParser.java?rev=1523046&r1=1523045&r2=1523046&view=diff
==============================================================================
--- lucene/dev/branches/lucene5207/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptParser.java (original)
+++ lucene/dev/branches/lucene5207/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptParser.java Fri Sep 13 18:22:18 2013
@@ -15,1949 +15,1949 @@ import org.antlr.runtime.tree.*;
 
 @SuppressWarnings("all")
 class JavascriptParser extends Parser {
-    public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "AT_ADD", "AT_BIT_AND", "AT_BIT_NOT", 
-        "AT_BIT_OR", "AT_BIT_SHL", "AT_BIT_SHR", "AT_BIT_SHU", "AT_BIT_XOR", "AT_BOOL_AND", 
-        "AT_BOOL_NOT", "AT_BOOL_OR", "AT_CALL", "AT_COLON", "AT_COMMA", "AT_COMP_EQ", 
-        "AT_COMP_GT", "AT_COMP_GTE", "AT_COMP_LT", "AT_COMP_LTE", "AT_COMP_NEQ", 
-        "AT_COND_QUE", "AT_DIVIDE", "AT_DOT", "AT_LPAREN", "AT_MODULO", "AT_MULTIPLY", 
-        "AT_NEGATE", "AT_RPAREN", "AT_SUBTRACT", "DECIMAL", "DECIMALDIGIT", "DECIMALINTEGER", 
-        "EXPONENT", "HEX", "HEXDIGIT", "ID", "OCTAL", "OCTALDIGIT", "WS"
-    };
-    public static final int EOF=-1;
-    public static final int AT_ADD=4;
-    public static final int AT_BIT_AND=5;
-    public static final int AT_BIT_NOT=6;
-    public static final int AT_BIT_OR=7;
-    public static final int AT_BIT_SHL=8;
-    public static final int AT_BIT_SHR=9;
-    public static final int AT_BIT_SHU=10;
-    public static final int AT_BIT_XOR=11;
-    public static final int AT_BOOL_AND=12;
-    public static final int AT_BOOL_NOT=13;
-    public static final int AT_BOOL_OR=14;
-    public static final int AT_CALL=15;
-    public static final int AT_COLON=16;
-    public static final int AT_COMMA=17;
-    public static final int AT_COMP_EQ=18;
-    public static final int AT_COMP_GT=19;
-    public static final int AT_COMP_GTE=20;
-    public static final int AT_COMP_LT=21;
-    public static final int AT_COMP_LTE=22;
-    public static final int AT_COMP_NEQ=23;
-    public static final int AT_COND_QUE=24;
-    public static final int AT_DIVIDE=25;
-    public static final int AT_DOT=26;
-    public static final int AT_LPAREN=27;
-    public static final int AT_MODULO=28;
-    public static final int AT_MULTIPLY=29;
-    public static final int AT_NEGATE=30;
-    public static final int AT_RPAREN=31;
-    public static final int AT_SUBTRACT=32;
-    public static final int DECIMAL=33;
-    public static final int DECIMALDIGIT=34;
-    public static final int DECIMALINTEGER=35;
-    public static final int EXPONENT=36;
-    public static final int HEX=37;
-    public static final int HEXDIGIT=38;
-    public static final int ID=39;
-    public static final int OCTAL=40;
-    public static final int OCTALDIGIT=41;
-    public static final int WS=42;
-
-    // delegates
-    public Parser[] getDelegates() {
-        return new Parser[] {};
-    }
-
-    // delegators
-
-
-    public JavascriptParser(TokenStream input) {
-        this(input, new RecognizerSharedState());
-    }
-    public JavascriptParser(TokenStream input, RecognizerSharedState state) {
-        super(input, state);
-    }
-
-    protected TreeAdaptor adaptor = new CommonTreeAdaptor();
-
-    public void setTreeAdaptor(TreeAdaptor adaptor) {
-        this.adaptor = adaptor;
-    }
-    public TreeAdaptor getTreeAdaptor() {
-        return adaptor;
-    }
-    @Override public String[] getTokenNames() { return JavascriptParser.tokenNames; }
-    @Override public String getGrammarFileName() { return "src/java/org/apache/lucene/expressions/js/Javascript.g"; }
+  public static final String[] tokenNames = new String[] {
+    "<invalid>", "<EOR>", "<DOWN>", "<UP>", "AT_ADD", "AT_BIT_AND", "AT_BIT_NOT", 
+    "AT_BIT_OR", "AT_BIT_SHL", "AT_BIT_SHR", "AT_BIT_SHU", "AT_BIT_XOR", "AT_BOOL_AND", 
+    "AT_BOOL_NOT", "AT_BOOL_OR", "AT_CALL", "AT_COLON", "AT_COMMA", "AT_COMP_EQ", 
+    "AT_COMP_GT", "AT_COMP_GTE", "AT_COMP_LT", "AT_COMP_LTE", "AT_COMP_NEQ", 
+    "AT_COND_QUE", "AT_DIVIDE", "AT_DOT", "AT_LPAREN", "AT_MODULO", "AT_MULTIPLY", 
+    "AT_NEGATE", "AT_RPAREN", "AT_SUBTRACT", "DECIMAL", "DECIMALDIGIT", "DECIMALINTEGER", 
+    "EXPONENT", "HEX", "HEXDIGIT", "ID", "OCTAL", "OCTALDIGIT", "WS"
+  };
+  public static final int EOF=-1;
+  public static final int AT_ADD=4;
+  public static final int AT_BIT_AND=5;
+  public static final int AT_BIT_NOT=6;
+  public static final int AT_BIT_OR=7;
+  public static final int AT_BIT_SHL=8;
+  public static final int AT_BIT_SHR=9;
+  public static final int AT_BIT_SHU=10;
+  public static final int AT_BIT_XOR=11;
+  public static final int AT_BOOL_AND=12;
+  public static final int AT_BOOL_NOT=13;
+  public static final int AT_BOOL_OR=14;
+  public static final int AT_CALL=15;
+  public static final int AT_COLON=16;
+  public static final int AT_COMMA=17;
+  public static final int AT_COMP_EQ=18;
+  public static final int AT_COMP_GT=19;
+  public static final int AT_COMP_GTE=20;
+  public static final int AT_COMP_LT=21;
+  public static final int AT_COMP_LTE=22;
+  public static final int AT_COMP_NEQ=23;
+  public static final int AT_COND_QUE=24;
+  public static final int AT_DIVIDE=25;
+  public static final int AT_DOT=26;
+  public static final int AT_LPAREN=27;
+  public static final int AT_MODULO=28;
+  public static final int AT_MULTIPLY=29;
+  public static final int AT_NEGATE=30;
+  public static final int AT_RPAREN=31;
+  public static final int AT_SUBTRACT=32;
+  public static final int DECIMAL=33;
+  public static final int DECIMALDIGIT=34;
+  public static final int DECIMALINTEGER=35;
+  public static final int EXPONENT=36;
+  public static final int HEX=37;
+  public static final int HEXDIGIT=38;
+  public static final int ID=39;
+  public static final int OCTAL=40;
+  public static final int OCTALDIGIT=41;
+  public static final int WS=42;
+
+  // delegates
+  public Parser[] getDelegates() {
+    return new Parser[] {};
+  }
+
+  // delegators
+
+
+  public JavascriptParser(TokenStream input) {
+    this(input, new RecognizerSharedState());
+  }
+  public JavascriptParser(TokenStream input, RecognizerSharedState state) {
+    super(input, state);
+  }
+
+  protected TreeAdaptor adaptor = new CommonTreeAdaptor();
+
+  public void setTreeAdaptor(TreeAdaptor adaptor) {
+    this.adaptor = adaptor;
+  }
+  public TreeAdaptor getTreeAdaptor() {
+    return adaptor;
+  }
+  @Override public String[] getTokenNames() { return JavascriptParser.tokenNames; }
+  @Override public String getGrammarFileName() { return "src/java/org/apache/lucene/expressions/js/Javascript.g"; }
+
+
+
+  @Override
+  public void displayRecognitionError(String[] tokenNames, RecognitionException re) {
+      String message;
+
+      if (re.token == null) {
+          message = " unknown error (missing token).";
+      }
+      else if (re instanceof UnwantedTokenException) {
+          message = " extraneous " + getReadableTokenString(re.token)
+                  +  " at position (" + re.charPositionInLine + ").";
+      }
+      else if (re instanceof MissingTokenException) {
+          message = " missing " + getReadableTokenString(re.token)
+                  +  " at position (" + re.charPositionInLine + ").";
+      }
+      else if (re instanceof NoViableAltException) {
+          switch (re.token.getType()) {
+          case EOF:
+              message = " unexpected end of expression.";
+              break;
+          default:
+              message = " invalid sequence of tokens near " + getReadableTokenString(re.token)
+                      +  " at position (" + re.charPositionInLine + ").";
+              break;
+          }
+      }
+      else {
+          message = " unexpected token " + getReadableTokenString(re.token) 
+                  +  " at position (" + re.charPositionInLine + ").";
+      }
+      ParseException parseException = new ParseException(message, re.charPositionInLine);
+      parseException.initCause(re);
+      throw new RuntimeException(parseException);
+  }
+
+  public static String getReadableTokenString(Token token) {
+      if (token == null) {
+          return "unknown token";
+      }
+
+      switch (token.getType()) {
+      case AT_LPAREN:
+          return "open parenthesis '('";
+      case AT_RPAREN:
+          return "close parenthesis ')'";
+      case AT_COMP_LT:
+          return "less than '<'";
+      case AT_COMP_LTE:
+          return "less than or equal '<='";
+      case AT_COMP_GT:
+          return "greater than '>'";
+      case AT_COMP_GTE:
+          return "greater than or equal '>='";
+      case AT_COMP_EQ:
+          return "equal '=='";
+      case AT_NEGATE:
+          return "negate '!='";
+      case AT_BOOL_NOT:
+          return "boolean not '!'";
+      case AT_BOOL_AND:
+          return "boolean and '&&'";
+      case AT_BOOL_OR:
+          return "boolean or '||'";
+      case AT_COND_QUE:
+          return "conditional '?'";
+      case AT_ADD:
+          return "addition '+'";
+      case AT_SUBTRACT:
+          return "subtraction '-'";
+      case AT_MULTIPLY:
+          return "multiplication '*'";
+      case AT_DIVIDE:
+          return "division '/'";
+      case AT_MODULO:
+          return "modulo '%'";
+      case AT_BIT_SHL:
+          return "bit shift left '<<'";
+      case AT_BIT_SHR:
+          return "bit shift right '>>'";
+      case AT_BIT_SHU:
+          return "unsigned bit shift right '>>>'";
+      case AT_BIT_AND:
+          return "bitwise and '&'";
+      case AT_BIT_OR:
+          return "bitwise or '|'";
+      case AT_BIT_XOR:
+          return "bitwise xor '^'";
+      case AT_BIT_NOT:
+          return "bitwise not '~'";
+      case ID:
+          return "identifier '" + token.getText() + "'";
+      case DECIMAL:
+          return "decimal '" + token.getText() + "'";
+      case OCTAL:
+          return "octal '" + token.getText() + "'";
+      case HEX:
+          return "hex '" + token.getText() + "'";
+      case EOF:
+          return "end of expression";
+      default:
+          return "'" + token.getText() + "'";
+      }
+  }
 
 
 
+  public static class expression_return extends ParserRuleReturnScope {
+    CommonTree tree;
     @Override
-    public void displayRecognitionError(String[] tokenNames, RecognitionException re) {
-        String message;
+    public CommonTree getTree() { return tree; }
+  };
 
-        if (re.token == null) {
-            message = " unknown error (missing token).";
-        }
-        else if (re instanceof UnwantedTokenException) {
-            message = " extraneous " + getReadableTokenString(re.token)
-                    +  " at position (" + re.charPositionInLine + ").";
-        }
-        else if (re instanceof MissingTokenException) {
-            message = " missing " + getReadableTokenString(re.token)
-                    +  " at position (" + re.charPositionInLine + ").";
-        }
-        else if (re instanceof NoViableAltException) {
-            switch (re.token.getType()) {
-            case EOF:
-                message = " unexpected end of expression.";
-                break;
-            default:
-                message = " invalid sequence of tokens near " + getReadableTokenString(re.token)
-                        +  " at position (" + re.charPositionInLine + ").";
-                break;
-            }
-        }
-        else {
-            message = " unexpected token " + getReadableTokenString(re.token) 
-                    +  " at position (" + re.charPositionInLine + ").";
-        }
-        ParseException parseException = new ParseException(message, re.charPositionInLine);
-        parseException.initCause(re);
-        throw new RuntimeException(parseException);
-    }
-
-    public static String getReadableTokenString(Token token) {
-        if (token == null) {
-            return "unknown token";
-        }
-
-        switch (token.getType()) {
-        case AT_LPAREN:
-            return "open parenthesis '('";
-        case AT_RPAREN:
-            return "close parenthesis ')'";
-        case AT_COMP_LT:
-            return "less than '<'";
-        case AT_COMP_LTE:
-            return "less than or equal '<='";
-        case AT_COMP_GT:
-            return "greater than '>'";
-        case AT_COMP_GTE:
-            return "greater than or equal '>='";
-        case AT_COMP_EQ:
-            return "equal '=='";
-        case AT_NEGATE:
-            return "negate '!='";
-        case AT_BOOL_NOT:
-            return "boolean not '!'";
-        case AT_BOOL_AND:
-            return "boolean and '&&'";
-        case AT_BOOL_OR:
-            return "boolean or '||'";
-        case AT_COND_QUE:
-            return "conditional '?'";
-        case AT_ADD:
-            return "addition '+'";
-        case AT_SUBTRACT:
-            return "subtraction '-'";
-        case AT_MULTIPLY:
-            return "multiplication '*'";
-        case AT_DIVIDE:
-            return "division '/'";
-        case AT_MODULO:
-            return "modulo '%'";
-        case AT_BIT_SHL:
-            return "bit shift left '<<'";
-        case AT_BIT_SHR:
-            return "bit shift right '>>'";
-        case AT_BIT_SHU:
-            return "unsigned bit shift right '>>>'";
-        case AT_BIT_AND:
-            return "bitwise and '&'";
-        case AT_BIT_OR:
-            return "bitwise or '|'";
-        case AT_BIT_XOR:
-            return "bitwise xor '^'";
-        case AT_BIT_NOT:
-            return "bitwise not '~'";
-        case ID:
-            return "identifier '" + token.getText() + "'";
-        case DECIMAL:
-            return "decimal '" + token.getText() + "'";
-        case OCTAL:
-            return "octal '" + token.getText() + "'";
-        case HEX:
-            return "hex '" + token.getText() + "'";
-        case EOF:
-            return "end of expression";
-        default:
-            return "'" + token.getText() + "'";
-        }
-    }
 
+  // $ANTLR start "expression"
+  // src/java/org/apache/lucene/expressions/js/Javascript.g:250:1: expression : conditional EOF !;
+  public final JavascriptParser.expression_return expression() throws RecognitionException {
+    JavascriptParser.expression_return retval = new JavascriptParser.expression_return();
+    retval.start = input.LT(1);
 
+    CommonTree root_0 = null;
 
-    public static class expression_return extends ParserRuleReturnScope {
-        CommonTree tree;
-        @Override
-        public CommonTree getTree() { return tree; }
-    };
-
-
-    // $ANTLR start "expression"
-    // src/java/org/apache/lucene/expressions/js/Javascript.g:250:1: expression : conditional EOF !;
-    public final JavascriptParser.expression_return expression() throws RecognitionException {
-        JavascriptParser.expression_return retval = new JavascriptParser.expression_return();
-        retval.start = input.LT(1);
-
-        CommonTree root_0 = null;
-
-        Token EOF2=null;
-        ParserRuleReturnScope conditional1 =null;
-
-        CommonTree EOF2_tree=null;
-
-        try {
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:251:5: ( conditional EOF !)
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:251:7: conditional EOF !
-            {
-            root_0 = (CommonTree)adaptor.nil();
+    Token EOF2=null;
+    ParserRuleReturnScope conditional1 =null;
 
+    CommonTree EOF2_tree=null;
 
-            pushFollow(FOLLOW_conditional_in_expression737);
-            conditional1=conditional();
-            state._fsp--;
+    try {
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:251:5: ( conditional EOF !)
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:251:7: conditional EOF !
+      {
+      root_0 = (CommonTree)adaptor.nil();
 
-            adaptor.addChild(root_0, conditional1.getTree());
 
-            EOF2=(Token)match(input,EOF,FOLLOW_EOF_in_expression739); 
-            }
+      pushFollow(FOLLOW_conditional_in_expression737);
+      conditional1=conditional();
+      state._fsp--;
 
-            retval.stop = input.LT(-1);
+      adaptor.addChild(root_0, conditional1.getTree());
 
-            retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+      EOF2=(Token)match(input,EOF,FOLLOW_EOF_in_expression739); 
+      }
 
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-            retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
-        }
-        finally {
-            // do for sure before leaving
-        }
-        return retval;
+      retval.stop = input.LT(-1);
+
+      retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
+      adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+
+    }
+    catch (RecognitionException re) {
+      reportError(re);
+      recover(input,re);
+      retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
     }
-    // $ANTLR end "expression"
+    finally {
+      // do for sure before leaving
+    }
+    return retval;
+  }
+  // $ANTLR end "expression"
 
 
-    public static class conditional_return extends ParserRuleReturnScope {
-        CommonTree tree;
-        @Override
-        public CommonTree getTree() { return tree; }
-    };
+  public static class conditional_return extends ParserRuleReturnScope {
+    CommonTree tree;
+    @Override
+    public CommonTree getTree() { return tree; }
+  };
 
 
-    // $ANTLR start "conditional"
-    // src/java/org/apache/lucene/expressions/js/Javascript.g:254:1: conditional : logical_or ( AT_COND_QUE ^ conditional AT_COLON ! conditional )? ;
-    public final JavascriptParser.conditional_return conditional() throws RecognitionException {
-        JavascriptParser.conditional_return retval = new JavascriptParser.conditional_return();
-        retval.start = input.LT(1);
+  // $ANTLR start "conditional"
+  // src/java/org/apache/lucene/expressions/js/Javascript.g:254:1: conditional : logical_or ( AT_COND_QUE ^ conditional AT_COLON ! conditional )? ;
+  public final JavascriptParser.conditional_return conditional() throws RecognitionException {
+    JavascriptParser.conditional_return retval = new JavascriptParser.conditional_return();
+    retval.start = input.LT(1);
 
-        CommonTree root_0 = null;
+    CommonTree root_0 = null;
 
-        Token AT_COND_QUE4=null;
-        Token AT_COLON6=null;
-        ParserRuleReturnScope logical_or3 =null;
-        ParserRuleReturnScope conditional5 =null;
-        ParserRuleReturnScope conditional7 =null;
+    Token AT_COND_QUE4=null;
+    Token AT_COLON6=null;
+    ParserRuleReturnScope logical_or3 =null;
+    ParserRuleReturnScope conditional5 =null;
+    ParserRuleReturnScope conditional7 =null;
 
-        CommonTree AT_COND_QUE4_tree=null;
-        CommonTree AT_COLON6_tree=null;
+    CommonTree AT_COND_QUE4_tree=null;
+    CommonTree AT_COLON6_tree=null;
 
-        try {
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:255:5: ( logical_or ( AT_COND_QUE ^ conditional AT_COLON ! conditional )? )
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:255:7: logical_or ( AT_COND_QUE ^ conditional AT_COLON ! conditional )?
-            {
-            root_0 = (CommonTree)adaptor.nil();
+    try {
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:255:5: ( logical_or ( AT_COND_QUE ^ conditional AT_COLON ! conditional )? )
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:255:7: logical_or ( AT_COND_QUE ^ conditional AT_COLON ! conditional )?
+      {
+      root_0 = (CommonTree)adaptor.nil();
 
 
-            pushFollow(FOLLOW_logical_or_in_conditional757);
-            logical_or3=logical_or();
-            state._fsp--;
+      pushFollow(FOLLOW_logical_or_in_conditional757);
+      logical_or3=logical_or();
+      state._fsp--;
 
-            adaptor.addChild(root_0, logical_or3.getTree());
+      adaptor.addChild(root_0, logical_or3.getTree());
 
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:255:18: ( AT_COND_QUE ^ conditional AT_COLON ! conditional )?
-            int alt1=2;
-            int LA1_0 = input.LA(1);
-            if ( (LA1_0==AT_COND_QUE) ) {
-                alt1=1;
-            }
-            switch (alt1) {
-                case 1 :
-                    // src/java/org/apache/lucene/expressions/js/Javascript.g:255:19: AT_COND_QUE ^ conditional AT_COLON ! conditional
-                    {
-                    AT_COND_QUE4=(Token)match(input,AT_COND_QUE,FOLLOW_AT_COND_QUE_in_conditional760); 
-                    AT_COND_QUE4_tree = (CommonTree)adaptor.create(AT_COND_QUE4);
-                    root_0 = (CommonTree)adaptor.becomeRoot(AT_COND_QUE4_tree, root_0);
-
-                    pushFollow(FOLLOW_conditional_in_conditional763);
-                    conditional5=conditional();
-                    state._fsp--;
-
-                    adaptor.addChild(root_0, conditional5.getTree());
-
-                    AT_COLON6=(Token)match(input,AT_COLON,FOLLOW_AT_COLON_in_conditional765); 
-                    pushFollow(FOLLOW_conditional_in_conditional768);
-                    conditional7=conditional();
-                    state._fsp--;
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:255:18: ( AT_COND_QUE ^ conditional AT_COLON ! conditional )?
+      int alt1=2;
+      int LA1_0 = input.LA(1);
+      if ( (LA1_0==AT_COND_QUE) ) {
+        alt1=1;
+      }
+      switch (alt1) {
+        case 1 :
+          // src/java/org/apache/lucene/expressions/js/Javascript.g:255:19: AT_COND_QUE ^ conditional AT_COLON ! conditional
+          {
+          AT_COND_QUE4=(Token)match(input,AT_COND_QUE,FOLLOW_AT_COND_QUE_in_conditional760); 
+          AT_COND_QUE4_tree = (CommonTree)adaptor.create(AT_COND_QUE4);
+          root_0 = (CommonTree)adaptor.becomeRoot(AT_COND_QUE4_tree, root_0);
 
-                    adaptor.addChild(root_0, conditional7.getTree());
+          pushFollow(FOLLOW_conditional_in_conditional763);
+          conditional5=conditional();
+          state._fsp--;
 
-                    }
-                    break;
+          adaptor.addChild(root_0, conditional5.getTree());
 
-            }
+          AT_COLON6=(Token)match(input,AT_COLON,FOLLOW_AT_COLON_in_conditional765); 
+          pushFollow(FOLLOW_conditional_in_conditional768);
+          conditional7=conditional();
+          state._fsp--;
 
-            }
+          adaptor.addChild(root_0, conditional7.getTree());
 
-            retval.stop = input.LT(-1);
+          }
+          break;
 
-            retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+      }
 
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-            retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
-        }
-        finally {
-            // do for sure before leaving
-        }
-        return retval;
-    }
-    // $ANTLR end "conditional"
+      }
 
+      retval.stop = input.LT(-1);
 
-    public static class logical_or_return extends ParserRuleReturnScope {
-        CommonTree tree;
-        @Override
-        public CommonTree getTree() { return tree; }
-    };
+      retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
+      adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
 
+    }
+    catch (RecognitionException re) {
+      reportError(re);
+      recover(input,re);
+      retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
+    }
+    finally {
+      // do for sure before leaving
+    }
+    return retval;
+  }
+  // $ANTLR end "conditional"
 
-    // $ANTLR start "logical_or"
-    // src/java/org/apache/lucene/expressions/js/Javascript.g:258:1: logical_or : logical_and ( AT_BOOL_OR ^ logical_and )* ;
-    public final JavascriptParser.logical_or_return logical_or() throws RecognitionException {
-        JavascriptParser.logical_or_return retval = new JavascriptParser.logical_or_return();
-        retval.start = input.LT(1);
 
-        CommonTree root_0 = null;
+  public static class logical_or_return extends ParserRuleReturnScope {
+    CommonTree tree;
+    @Override
+    public CommonTree getTree() { return tree; }
+  };
 
-        Token AT_BOOL_OR9=null;
-        ParserRuleReturnScope logical_and8 =null;
-        ParserRuleReturnScope logical_and10 =null;
 
-        CommonTree AT_BOOL_OR9_tree=null;
+  // $ANTLR start "logical_or"
+  // src/java/org/apache/lucene/expressions/js/Javascript.g:258:1: logical_or : logical_and ( AT_BOOL_OR ^ logical_and )* ;
+  public final JavascriptParser.logical_or_return logical_or() throws RecognitionException {
+    JavascriptParser.logical_or_return retval = new JavascriptParser.logical_or_return();
+    retval.start = input.LT(1);
 
-        try {
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:259:5: ( logical_and ( AT_BOOL_OR ^ logical_and )* )
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:259:7: logical_and ( AT_BOOL_OR ^ logical_and )*
-            {
-            root_0 = (CommonTree)adaptor.nil();
+    CommonTree root_0 = null;
 
+    Token AT_BOOL_OR9=null;
+    ParserRuleReturnScope logical_and8 =null;
+    ParserRuleReturnScope logical_and10 =null;
 
-            pushFollow(FOLLOW_logical_and_in_logical_or787);
-            logical_and8=logical_and();
-            state._fsp--;
-
-            adaptor.addChild(root_0, logical_and8.getTree());
-
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:259:19: ( AT_BOOL_OR ^ logical_and )*
-            loop2:
-            while (true) {
-                int alt2=2;
-                int LA2_0 = input.LA(1);
-                if ( (LA2_0==AT_BOOL_OR) ) {
-                    alt2=1;
-                }
-
-                switch (alt2) {
-                case 1 :
-                    // src/java/org/apache/lucene/expressions/js/Javascript.g:259:20: AT_BOOL_OR ^ logical_and
-                    {
-                    AT_BOOL_OR9=(Token)match(input,AT_BOOL_OR,FOLLOW_AT_BOOL_OR_in_logical_or790); 
-                    AT_BOOL_OR9_tree = (CommonTree)adaptor.create(AT_BOOL_OR9);
-                    root_0 = (CommonTree)adaptor.becomeRoot(AT_BOOL_OR9_tree, root_0);
-
-                    pushFollow(FOLLOW_logical_and_in_logical_or793);
-                    logical_and10=logical_and();
-                    state._fsp--;
-
-                    adaptor.addChild(root_0, logical_and10.getTree());
-
-                    }
-                    break;
-
-                default :
-                    break loop2;
-                }
-            }
+    CommonTree AT_BOOL_OR9_tree=null;
 
-            }
+    try {
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:259:5: ( logical_and ( AT_BOOL_OR ^ logical_and )* )
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:259:7: logical_and ( AT_BOOL_OR ^ logical_and )*
+      {
+      root_0 = (CommonTree)adaptor.nil();
 
-            retval.stop = input.LT(-1);
 
-            retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+      pushFollow(FOLLOW_logical_and_in_logical_or787);
+      logical_and8=logical_and();
+      state._fsp--;
 
+      adaptor.addChild(root_0, logical_and8.getTree());
+
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:259:19: ( AT_BOOL_OR ^ logical_and )*
+      loop2:
+      while (true) {
+        int alt2=2;
+        int LA2_0 = input.LA(1);
+        if ( (LA2_0==AT_BOOL_OR) ) {
+          alt2=1;
         }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-            retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
-        }
-        finally {
-            // do for sure before leaving
-        }
-        return retval;
-    }
-    // $ANTLR end "logical_or"
 
+        switch (alt2) {
+        case 1 :
+          // src/java/org/apache/lucene/expressions/js/Javascript.g:259:20: AT_BOOL_OR ^ logical_and
+          {
+          AT_BOOL_OR9=(Token)match(input,AT_BOOL_OR,FOLLOW_AT_BOOL_OR_in_logical_or790); 
+          AT_BOOL_OR9_tree = (CommonTree)adaptor.create(AT_BOOL_OR9);
+          root_0 = (CommonTree)adaptor.becomeRoot(AT_BOOL_OR9_tree, root_0);
 
-    public static class logical_and_return extends ParserRuleReturnScope {
-        CommonTree tree;
-        @Override
-        public CommonTree getTree() { return tree; }
-    };
+          pushFollow(FOLLOW_logical_and_in_logical_or793);
+          logical_and10=logical_and();
+          state._fsp--;
 
+          adaptor.addChild(root_0, logical_and10.getTree());
 
-    // $ANTLR start "logical_and"
-    // src/java/org/apache/lucene/expressions/js/Javascript.g:262:1: logical_and : bitwise_or ( AT_BOOL_AND ^ bitwise_or )* ;
-    public final JavascriptParser.logical_and_return logical_and() throws RecognitionException {
-        JavascriptParser.logical_and_return retval = new JavascriptParser.logical_and_return();
-        retval.start = input.LT(1);
+          }
+          break;
 
-        CommonTree root_0 = null;
+        default :
+          break loop2;
+        }
+      }
 
-        Token AT_BOOL_AND12=null;
-        ParserRuleReturnScope bitwise_or11 =null;
-        ParserRuleReturnScope bitwise_or13 =null;
+      }
 
-        CommonTree AT_BOOL_AND12_tree=null;
+      retval.stop = input.LT(-1);
 
-        try {
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:263:5: ( bitwise_or ( AT_BOOL_AND ^ bitwise_or )* )
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:263:7: bitwise_or ( AT_BOOL_AND ^ bitwise_or )*
-            {
-            root_0 = (CommonTree)adaptor.nil();
+      retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
+      adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
 
+    }
+    catch (RecognitionException re) {
+      reportError(re);
+      recover(input,re);
+      retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
+    }
+    finally {
+      // do for sure before leaving
+    }
+    return retval;
+  }
+  // $ANTLR end "logical_or"
 
-            pushFollow(FOLLOW_bitwise_or_in_logical_and812);
-            bitwise_or11=bitwise_or();
-            state._fsp--;
-
-            adaptor.addChild(root_0, bitwise_or11.getTree());
-
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:263:18: ( AT_BOOL_AND ^ bitwise_or )*
-            loop3:
-            while (true) {
-                int alt3=2;
-                int LA3_0 = input.LA(1);
-                if ( (LA3_0==AT_BOOL_AND) ) {
-                    alt3=1;
-                }
-
-                switch (alt3) {
-                case 1 :
-                    // src/java/org/apache/lucene/expressions/js/Javascript.g:263:19: AT_BOOL_AND ^ bitwise_or
-                    {
-                    AT_BOOL_AND12=(Token)match(input,AT_BOOL_AND,FOLLOW_AT_BOOL_AND_in_logical_and815); 
-                    AT_BOOL_AND12_tree = (CommonTree)adaptor.create(AT_BOOL_AND12);
-                    root_0 = (CommonTree)adaptor.becomeRoot(AT_BOOL_AND12_tree, root_0);
-
-                    pushFollow(FOLLOW_bitwise_or_in_logical_and818);
-                    bitwise_or13=bitwise_or();
-                    state._fsp--;
-
-                    adaptor.addChild(root_0, bitwise_or13.getTree());
-
-                    }
-                    break;
-
-                default :
-                    break loop3;
-                }
-            }
 
-            }
+  public static class logical_and_return extends ParserRuleReturnScope {
+    CommonTree tree;
+    @Override
+    public CommonTree getTree() { return tree; }
+  };
 
-            retval.stop = input.LT(-1);
 
-            retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+  // $ANTLR start "logical_and"
+  // src/java/org/apache/lucene/expressions/js/Javascript.g:262:1: logical_and : bitwise_or ( AT_BOOL_AND ^ bitwise_or )* ;
+  public final JavascriptParser.logical_and_return logical_and() throws RecognitionException {
+    JavascriptParser.logical_and_return retval = new JavascriptParser.logical_and_return();
+    retval.start = input.LT(1);
 
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-            retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
-        }
-        finally {
-            // do for sure before leaving
-        }
-        return retval;
-    }
-    // $ANTLR end "logical_and"
+    CommonTree root_0 = null;
 
+    Token AT_BOOL_AND12=null;
+    ParserRuleReturnScope bitwise_or11 =null;
+    ParserRuleReturnScope bitwise_or13 =null;
 
-    public static class bitwise_or_return extends ParserRuleReturnScope {
-        CommonTree tree;
-        @Override
-        public CommonTree getTree() { return tree; }
-    };
+    CommonTree AT_BOOL_AND12_tree=null;
 
+    try {
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:263:5: ( bitwise_or ( AT_BOOL_AND ^ bitwise_or )* )
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:263:7: bitwise_or ( AT_BOOL_AND ^ bitwise_or )*
+      {
+      root_0 = (CommonTree)adaptor.nil();
 
-    // $ANTLR start "bitwise_or"
-    // src/java/org/apache/lucene/expressions/js/Javascript.g:266:1: bitwise_or : bitwise_xor ( AT_BIT_OR ^ bitwise_xor )* ;
-    public final JavascriptParser.bitwise_or_return bitwise_or() throws RecognitionException {
-        JavascriptParser.bitwise_or_return retval = new JavascriptParser.bitwise_or_return();
-        retval.start = input.LT(1);
 
-        CommonTree root_0 = null;
+      pushFollow(FOLLOW_bitwise_or_in_logical_and812);
+      bitwise_or11=bitwise_or();
+      state._fsp--;
 
-        Token AT_BIT_OR15=null;
-        ParserRuleReturnScope bitwise_xor14 =null;
-        ParserRuleReturnScope bitwise_xor16 =null;
+      adaptor.addChild(root_0, bitwise_or11.getTree());
 
-        CommonTree AT_BIT_OR15_tree=null;
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:263:18: ( AT_BOOL_AND ^ bitwise_or )*
+      loop3:
+      while (true) {
+        int alt3=2;
+        int LA3_0 = input.LA(1);
+        if ( (LA3_0==AT_BOOL_AND) ) {
+          alt3=1;
+        }
 
-        try {
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:267:5: ( bitwise_xor ( AT_BIT_OR ^ bitwise_xor )* )
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:267:7: bitwise_xor ( AT_BIT_OR ^ bitwise_xor )*
-            {
-            root_0 = (CommonTree)adaptor.nil();
+        switch (alt3) {
+        case 1 :
+          // src/java/org/apache/lucene/expressions/js/Javascript.g:263:19: AT_BOOL_AND ^ bitwise_or
+          {
+          AT_BOOL_AND12=(Token)match(input,AT_BOOL_AND,FOLLOW_AT_BOOL_AND_in_logical_and815); 
+          AT_BOOL_AND12_tree = (CommonTree)adaptor.create(AT_BOOL_AND12);
+          root_0 = (CommonTree)adaptor.becomeRoot(AT_BOOL_AND12_tree, root_0);
 
+          pushFollow(FOLLOW_bitwise_or_in_logical_and818);
+          bitwise_or13=bitwise_or();
+          state._fsp--;
 
-            pushFollow(FOLLOW_bitwise_xor_in_bitwise_or837);
-            bitwise_xor14=bitwise_xor();
-            state._fsp--;
-
-            adaptor.addChild(root_0, bitwise_xor14.getTree());
-
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:267:19: ( AT_BIT_OR ^ bitwise_xor )*
-            loop4:
-            while (true) {
-                int alt4=2;
-                int LA4_0 = input.LA(1);
-                if ( (LA4_0==AT_BIT_OR) ) {
-                    alt4=1;
-                }
-
-                switch (alt4) {
-                case 1 :
-                    // src/java/org/apache/lucene/expressions/js/Javascript.g:267:20: AT_BIT_OR ^ bitwise_xor
-                    {
-                    AT_BIT_OR15=(Token)match(input,AT_BIT_OR,FOLLOW_AT_BIT_OR_in_bitwise_or840); 
-                    AT_BIT_OR15_tree = (CommonTree)adaptor.create(AT_BIT_OR15);
-                    root_0 = (CommonTree)adaptor.becomeRoot(AT_BIT_OR15_tree, root_0);
-
-                    pushFollow(FOLLOW_bitwise_xor_in_bitwise_or843);
-                    bitwise_xor16=bitwise_xor();
-                    state._fsp--;
-
-                    adaptor.addChild(root_0, bitwise_xor16.getTree());
-
-                    }
-                    break;
-
-                default :
-                    break loop4;
-                }
-            }
+          adaptor.addChild(root_0, bitwise_or13.getTree());
 
-            }
+          }
+          break;
 
-            retval.stop = input.LT(-1);
+        default :
+          break loop3;
+        }
+      }
 
-            retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+      }
 
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-            retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
-        }
-        finally {
-            // do for sure before leaving
-        }
-        return retval;
-    }
-    // $ANTLR end "bitwise_or"
+      retval.stop = input.LT(-1);
 
+      retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
+      adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
 
-    public static class bitwise_xor_return extends ParserRuleReturnScope {
-        CommonTree tree;
-        @Override
-        public CommonTree getTree() { return tree; }
-    };
+    }
+    catch (RecognitionException re) {
+      reportError(re);
+      recover(input,re);
+      retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
+    }
+    finally {
+      // do for sure before leaving
+    }
+    return retval;
+  }
+  // $ANTLR end "logical_and"
 
 
-    // $ANTLR start "bitwise_xor"
-    // src/java/org/apache/lucene/expressions/js/Javascript.g:270:1: bitwise_xor : bitwise_and ( AT_BIT_XOR ^ bitwise_and )* ;
-    public final JavascriptParser.bitwise_xor_return bitwise_xor() throws RecognitionException {
-        JavascriptParser.bitwise_xor_return retval = new JavascriptParser.bitwise_xor_return();
-        retval.start = input.LT(1);
+  public static class bitwise_or_return extends ParserRuleReturnScope {
+    CommonTree tree;
+    @Override
+    public CommonTree getTree() { return tree; }
+  };
 
-        CommonTree root_0 = null;
 
-        Token AT_BIT_XOR18=null;
-        ParserRuleReturnScope bitwise_and17 =null;
-        ParserRuleReturnScope bitwise_and19 =null;
+  // $ANTLR start "bitwise_or"
+  // src/java/org/apache/lucene/expressions/js/Javascript.g:266:1: bitwise_or : bitwise_xor ( AT_BIT_OR ^ bitwise_xor )* ;
+  public final JavascriptParser.bitwise_or_return bitwise_or() throws RecognitionException {
+    JavascriptParser.bitwise_or_return retval = new JavascriptParser.bitwise_or_return();
+    retval.start = input.LT(1);
 
-        CommonTree AT_BIT_XOR18_tree=null;
+    CommonTree root_0 = null;
 
-        try {
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:271:5: ( bitwise_and ( AT_BIT_XOR ^ bitwise_and )* )
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:271:7: bitwise_and ( AT_BIT_XOR ^ bitwise_and )*
-            {
-            root_0 = (CommonTree)adaptor.nil();
+    Token AT_BIT_OR15=null;
+    ParserRuleReturnScope bitwise_xor14 =null;
+    ParserRuleReturnScope bitwise_xor16 =null;
 
+    CommonTree AT_BIT_OR15_tree=null;
 
-            pushFollow(FOLLOW_bitwise_and_in_bitwise_xor862);
-            bitwise_and17=bitwise_and();
-            state._fsp--;
-
-            adaptor.addChild(root_0, bitwise_and17.getTree());
-
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:271:19: ( AT_BIT_XOR ^ bitwise_and )*
-            loop5:
-            while (true) {
-                int alt5=2;
-                int LA5_0 = input.LA(1);
-                if ( (LA5_0==AT_BIT_XOR) ) {
-                    alt5=1;
-                }
-
-                switch (alt5) {
-                case 1 :
-                    // src/java/org/apache/lucene/expressions/js/Javascript.g:271:20: AT_BIT_XOR ^ bitwise_and
-                    {
-                    AT_BIT_XOR18=(Token)match(input,AT_BIT_XOR,FOLLOW_AT_BIT_XOR_in_bitwise_xor865); 
-                    AT_BIT_XOR18_tree = (CommonTree)adaptor.create(AT_BIT_XOR18);
-                    root_0 = (CommonTree)adaptor.becomeRoot(AT_BIT_XOR18_tree, root_0);
-
-                    pushFollow(FOLLOW_bitwise_and_in_bitwise_xor868);
-                    bitwise_and19=bitwise_and();
-                    state._fsp--;
-
-                    adaptor.addChild(root_0, bitwise_and19.getTree());
-
-                    }
-                    break;
-
-                default :
-                    break loop5;
-                }
-            }
+    try {
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:267:5: ( bitwise_xor ( AT_BIT_OR ^ bitwise_xor )* )
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:267:7: bitwise_xor ( AT_BIT_OR ^ bitwise_xor )*
+      {
+      root_0 = (CommonTree)adaptor.nil();
 
-            }
 
-            retval.stop = input.LT(-1);
+      pushFollow(FOLLOW_bitwise_xor_in_bitwise_or837);
+      bitwise_xor14=bitwise_xor();
+      state._fsp--;
 
-            retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+      adaptor.addChild(root_0, bitwise_xor14.getTree());
 
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:267:19: ( AT_BIT_OR ^ bitwise_xor )*
+      loop4:
+      while (true) {
+        int alt4=2;
+        int LA4_0 = input.LA(1);
+        if ( (LA4_0==AT_BIT_OR) ) {
+          alt4=1;
         }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-            retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
-        }
-        finally {
-            // do for sure before leaving
-        }
-        return retval;
-    }
-    // $ANTLR end "bitwise_xor"
 
+        switch (alt4) {
+        case 1 :
+          // src/java/org/apache/lucene/expressions/js/Javascript.g:267:20: AT_BIT_OR ^ bitwise_xor
+          {
+          AT_BIT_OR15=(Token)match(input,AT_BIT_OR,FOLLOW_AT_BIT_OR_in_bitwise_or840); 
+          AT_BIT_OR15_tree = (CommonTree)adaptor.create(AT_BIT_OR15);
+          root_0 = (CommonTree)adaptor.becomeRoot(AT_BIT_OR15_tree, root_0);
 
-    public static class bitwise_and_return extends ParserRuleReturnScope {
-        CommonTree tree;
-        @Override
-        public CommonTree getTree() { return tree; }
-    };
+          pushFollow(FOLLOW_bitwise_xor_in_bitwise_or843);
+          bitwise_xor16=bitwise_xor();
+          state._fsp--;
 
+          adaptor.addChild(root_0, bitwise_xor16.getTree());
 
-    // $ANTLR start "bitwise_and"
-    // src/java/org/apache/lucene/expressions/js/Javascript.g:274:1: bitwise_and : equality ( AT_BIT_AND ^ equality )* ;
-    public final JavascriptParser.bitwise_and_return bitwise_and() throws RecognitionException {
-        JavascriptParser.bitwise_and_return retval = new JavascriptParser.bitwise_and_return();
-        retval.start = input.LT(1);
+          }
+          break;
 
-        CommonTree root_0 = null;
+        default :
+          break loop4;
+        }
+      }
 
-        Token AT_BIT_AND21=null;
-        ParserRuleReturnScope equality20 =null;
-        ParserRuleReturnScope equality22 =null;
+      }
 
-        CommonTree AT_BIT_AND21_tree=null;
+      retval.stop = input.LT(-1);
 
-        try {
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:275:5: ( equality ( AT_BIT_AND ^ equality )* )
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:275:8: equality ( AT_BIT_AND ^ equality )*
-            {
-            root_0 = (CommonTree)adaptor.nil();
+      retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
+      adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
 
+    }
+    catch (RecognitionException re) {
+      reportError(re);
+      recover(input,re);
+      retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
+    }
+    finally {
+      // do for sure before leaving
+    }
+    return retval;
+  }
+  // $ANTLR end "bitwise_or"
 
-            pushFollow(FOLLOW_equality_in_bitwise_and888);
-            equality20=equality();
-            state._fsp--;
-
-            adaptor.addChild(root_0, equality20.getTree());
-
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:275:17: ( AT_BIT_AND ^ equality )*
-            loop6:
-            while (true) {
-                int alt6=2;
-                int LA6_0 = input.LA(1);
-                if ( (LA6_0==AT_BIT_AND) ) {
-                    alt6=1;
-                }
-
-                switch (alt6) {
-                case 1 :
-                    // src/java/org/apache/lucene/expressions/js/Javascript.g:275:18: AT_BIT_AND ^ equality
-                    {
-                    AT_BIT_AND21=(Token)match(input,AT_BIT_AND,FOLLOW_AT_BIT_AND_in_bitwise_and891); 
-                    AT_BIT_AND21_tree = (CommonTree)adaptor.create(AT_BIT_AND21);
-                    root_0 = (CommonTree)adaptor.becomeRoot(AT_BIT_AND21_tree, root_0);
-
-                    pushFollow(FOLLOW_equality_in_bitwise_and894);
-                    equality22=equality();
-                    state._fsp--;
-
-                    adaptor.addChild(root_0, equality22.getTree());
-
-                    }
-                    break;
-
-                default :
-                    break loop6;
-                }
-            }
 
-            }
+  public static class bitwise_xor_return extends ParserRuleReturnScope {
+    CommonTree tree;
+    @Override
+    public CommonTree getTree() { return tree; }
+  };
 
-            retval.stop = input.LT(-1);
 
-            retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+  // $ANTLR start "bitwise_xor"
+  // src/java/org/apache/lucene/expressions/js/Javascript.g:270:1: bitwise_xor : bitwise_and ( AT_BIT_XOR ^ bitwise_and )* ;
+  public final JavascriptParser.bitwise_xor_return bitwise_xor() throws RecognitionException {
+    JavascriptParser.bitwise_xor_return retval = new JavascriptParser.bitwise_xor_return();
+    retval.start = input.LT(1);
 
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-            retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
-        }
-        finally {
-            // do for sure before leaving
-        }
-        return retval;
-    }
-    // $ANTLR end "bitwise_and"
+    CommonTree root_0 = null;
 
+    Token AT_BIT_XOR18=null;
+    ParserRuleReturnScope bitwise_and17 =null;
+    ParserRuleReturnScope bitwise_and19 =null;
 
-    public static class equality_return extends ParserRuleReturnScope {
-        CommonTree tree;
-        @Override
-        public CommonTree getTree() { return tree; }
-    };
+    CommonTree AT_BIT_XOR18_tree=null;
 
+    try {
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:271:5: ( bitwise_and ( AT_BIT_XOR ^ bitwise_and )* )
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:271:7: bitwise_and ( AT_BIT_XOR ^ bitwise_and )*
+      {
+      root_0 = (CommonTree)adaptor.nil();
 
-    // $ANTLR start "equality"
-    // src/java/org/apache/lucene/expressions/js/Javascript.g:278:1: equality : relational ( ( AT_COMP_EQ | AT_COMP_NEQ ) ^ relational )* ;
-    public final JavascriptParser.equality_return equality() throws RecognitionException {
-        JavascriptParser.equality_return retval = new JavascriptParser.equality_return();
-        retval.start = input.LT(1);
 
-        CommonTree root_0 = null;
+      pushFollow(FOLLOW_bitwise_and_in_bitwise_xor862);
+      bitwise_and17=bitwise_and();
+      state._fsp--;
 
-        Token set24=null;
-        ParserRuleReturnScope relational23 =null;
-        ParserRuleReturnScope relational25 =null;
+      adaptor.addChild(root_0, bitwise_and17.getTree());
 
-        CommonTree set24_tree=null;
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:271:19: ( AT_BIT_XOR ^ bitwise_and )*
+      loop5:
+      while (true) {
+        int alt5=2;
+        int LA5_0 = input.LA(1);
+        if ( (LA5_0==AT_BIT_XOR) ) {
+          alt5=1;
+        }
 
-        try {
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:279:5: ( relational ( ( AT_COMP_EQ | AT_COMP_NEQ ) ^ relational )* )
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:279:7: relational ( ( AT_COMP_EQ | AT_COMP_NEQ ) ^ relational )*
-            {
-            root_0 = (CommonTree)adaptor.nil();
+        switch (alt5) {
+        case 1 :
+          // src/java/org/apache/lucene/expressions/js/Javascript.g:271:20: AT_BIT_XOR ^ bitwise_and
+          {
+          AT_BIT_XOR18=(Token)match(input,AT_BIT_XOR,FOLLOW_AT_BIT_XOR_in_bitwise_xor865); 
+          AT_BIT_XOR18_tree = (CommonTree)adaptor.create(AT_BIT_XOR18);
+          root_0 = (CommonTree)adaptor.becomeRoot(AT_BIT_XOR18_tree, root_0);
 
+          pushFollow(FOLLOW_bitwise_and_in_bitwise_xor868);
+          bitwise_and19=bitwise_and();
+          state._fsp--;
 
-            pushFollow(FOLLOW_relational_in_equality913);
-            relational23=relational();
-            state._fsp--;
-
-            adaptor.addChild(root_0, relational23.getTree());
-
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:279:18: ( ( AT_COMP_EQ | AT_COMP_NEQ ) ^ relational )*
-            loop7:
-            while (true) {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
-                if ( (LA7_0==AT_COMP_EQ||LA7_0==AT_COMP_NEQ) ) {
-                    alt7=1;
-                }
-
-                switch (alt7) {
-                case 1 :
-                    // src/java/org/apache/lucene/expressions/js/Javascript.g:279:19: ( AT_COMP_EQ | AT_COMP_NEQ ) ^ relational
-                    {
-                    set24=input.LT(1);
-                    set24=input.LT(1);
-                    if ( input.LA(1)==AT_COMP_EQ||input.LA(1)==AT_COMP_NEQ ) {
-                        input.consume();
-                        root_0 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(set24), root_0);
-                        state.errorRecovery=false;
-                    }
-                    else {
-                        MismatchedSetException mse = new MismatchedSetException(null,input);
-                        throw mse;
-                    }
-                    pushFollow(FOLLOW_relational_in_equality925);
-                    relational25=relational();
-                    state._fsp--;
-
-                    adaptor.addChild(root_0, relational25.getTree());
-
-                    }
-                    break;
-
-                default :
-                    break loop7;
-                }
-            }
+          adaptor.addChild(root_0, bitwise_and19.getTree());
 
-            }
+          }
+          break;
 
-            retval.stop = input.LT(-1);
+        default :
+          break loop5;
+        }
+      }
 
-            retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+      }
 
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-            retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
-        }
-        finally {
-            // do for sure before leaving
-        }
-        return retval;
-    }
-    // $ANTLR end "equality"
+      retval.stop = input.LT(-1);
 
+      retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
+      adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
 
-    public static class relational_return extends ParserRuleReturnScope {
-        CommonTree tree;
-        @Override
-        public CommonTree getTree() { return tree; }
-    };
+    }
+    catch (RecognitionException re) {
+      reportError(re);
+      recover(input,re);
+      retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
+    }
+    finally {
+      // do for sure before leaving
+    }
+    return retval;
+  }
+  // $ANTLR end "bitwise_xor"
 
 
-    // $ANTLR start "relational"
-    // src/java/org/apache/lucene/expressions/js/Javascript.g:282:1: relational : shift ( ( AT_COMP_LT | AT_COMP_GT | AT_COMP_LTE | AT_COMP_GTE ) ^ shift )* ;
-    public final JavascriptParser.relational_return relational() throws RecognitionException {
-        JavascriptParser.relational_return retval = new JavascriptParser.relational_return();
-        retval.start = input.LT(1);
+  public static class bitwise_and_return extends ParserRuleReturnScope {
+    CommonTree tree;
+    @Override
+    public CommonTree getTree() { return tree; }
+  };
 
-        CommonTree root_0 = null;
 
-        Token set27=null;
-        ParserRuleReturnScope shift26 =null;
-        ParserRuleReturnScope shift28 =null;
+  // $ANTLR start "bitwise_and"
+  // src/java/org/apache/lucene/expressions/js/Javascript.g:274:1: bitwise_and : equality ( AT_BIT_AND ^ equality )* ;
+  public final JavascriptParser.bitwise_and_return bitwise_and() throws RecognitionException {
+    JavascriptParser.bitwise_and_return retval = new JavascriptParser.bitwise_and_return();
+    retval.start = input.LT(1);
 
-        CommonTree set27_tree=null;
+    CommonTree root_0 = null;
 
-        try {
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:283:5: ( shift ( ( AT_COMP_LT | AT_COMP_GT | AT_COMP_LTE | AT_COMP_GTE ) ^ shift )* )
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:283:7: shift ( ( AT_COMP_LT | AT_COMP_GT | AT_COMP_LTE | AT_COMP_GTE ) ^ shift )*
-            {
-            root_0 = (CommonTree)adaptor.nil();
+    Token AT_BIT_AND21=null;
+    ParserRuleReturnScope equality20 =null;
+    ParserRuleReturnScope equality22 =null;
 
+    CommonTree AT_BIT_AND21_tree=null;
 
-            pushFollow(FOLLOW_shift_in_relational944);
-            shift26=shift();
-            state._fsp--;
-
-            adaptor.addChild(root_0, shift26.getTree());
-
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:283:13: ( ( AT_COMP_LT | AT_COMP_GT | AT_COMP_LTE | AT_COMP_GTE ) ^ shift )*
-            loop8:
-            while (true) {
-                int alt8=2;
-                int LA8_0 = input.LA(1);
-                if ( ((LA8_0 >= AT_COMP_GT && LA8_0 <= AT_COMP_LTE)) ) {
-                    alt8=1;
-                }
-
-                switch (alt8) {
-                case 1 :
-                    // src/java/org/apache/lucene/expressions/js/Javascript.g:283:14: ( AT_COMP_LT | AT_COMP_GT | AT_COMP_LTE | AT_COMP_GTE ) ^ shift
-                    {
-                    set27=input.LT(1);
-                    set27=input.LT(1);
-                    if ( (input.LA(1) >= AT_COMP_GT && input.LA(1) <= AT_COMP_LTE) ) {
-                        input.consume();
-                        root_0 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(set27), root_0);
-                        state.errorRecovery=false;
-                    }
-                    else {
-                        MismatchedSetException mse = new MismatchedSetException(null,input);
-                        throw mse;
-                    }
-                    pushFollow(FOLLOW_shift_in_relational964);
-                    shift28=shift();
-                    state._fsp--;
-
-                    adaptor.addChild(root_0, shift28.getTree());
-
-                    }
-                    break;
-
-                default :
-                    break loop8;
-                }
-            }
+    try {
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:275:5: ( equality ( AT_BIT_AND ^ equality )* )
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:275:8: equality ( AT_BIT_AND ^ equality )*
+      {
+      root_0 = (CommonTree)adaptor.nil();
 
-            }
 
-            retval.stop = input.LT(-1);
+      pushFollow(FOLLOW_equality_in_bitwise_and888);
+      equality20=equality();
+      state._fsp--;
 
-            retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+      adaptor.addChild(root_0, equality20.getTree());
 
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:275:17: ( AT_BIT_AND ^ equality )*
+      loop6:
+      while (true) {
+        int alt6=2;
+        int LA6_0 = input.LA(1);
+        if ( (LA6_0==AT_BIT_AND) ) {
+          alt6=1;
         }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-            retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
-        }
-        finally {
-            // do for sure before leaving
+
+        switch (alt6) {
+        case 1 :
+          // src/java/org/apache/lucene/expressions/js/Javascript.g:275:18: AT_BIT_AND ^ equality
+          {
+          AT_BIT_AND21=(Token)match(input,AT_BIT_AND,FOLLOW_AT_BIT_AND_in_bitwise_and891); 
+          AT_BIT_AND21_tree = (CommonTree)adaptor.create(AT_BIT_AND21);
+          root_0 = (CommonTree)adaptor.becomeRoot(AT_BIT_AND21_tree, root_0);
+
+          pushFollow(FOLLOW_equality_in_bitwise_and894);
+          equality22=equality();
+          state._fsp--;
+
+          adaptor.addChild(root_0, equality22.getTree());
+
+          }
+          break;
+
+        default :
+          break loop6;
         }
-        return retval;
-    }
-    // $ANTLR end "relational"
+      }
+
+      }
 
+      retval.stop = input.LT(-1);
 
-    public static class shift_return extends ParserRuleReturnScope {
-        CommonTree tree;
-        @Override
-        public CommonTree getTree() { return tree; }
-    };
+      retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
+      adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+
+    }
+    catch (RecognitionException re) {
+      reportError(re);
+      recover(input,re);
+      retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
+    }
+    finally {
+      // do for sure before leaving
+    }
+    return retval;
+  }
+  // $ANTLR end "bitwise_and"
 
 
-    // $ANTLR start "shift"
-    // src/java/org/apache/lucene/expressions/js/Javascript.g:286:1: shift : additive ( ( AT_BIT_SHL | AT_BIT_SHR | AT_BIT_SHU ) ^ additive )* ;
-    public final JavascriptParser.shift_return shift() throws RecognitionException {
-        JavascriptParser.shift_return retval = new JavascriptParser.shift_return();
-        retval.start = input.LT(1);
+  public static class equality_return extends ParserRuleReturnScope {
+    CommonTree tree;
+    @Override
+    public CommonTree getTree() { return tree; }
+  };
 
-        CommonTree root_0 = null;
 
-        Token set30=null;
-        ParserRuleReturnScope additive29 =null;
-        ParserRuleReturnScope additive31 =null;
+  // $ANTLR start "equality"
+  // src/java/org/apache/lucene/expressions/js/Javascript.g:278:1: equality : relational ( ( AT_COMP_EQ | AT_COMP_NEQ ) ^ relational )* ;
+  public final JavascriptParser.equality_return equality() throws RecognitionException {
+    JavascriptParser.equality_return retval = new JavascriptParser.equality_return();
+    retval.start = input.LT(1);
 
-        CommonTree set30_tree=null;
+    CommonTree root_0 = null;
 
-        try {
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:287:5: ( additive ( ( AT_BIT_SHL | AT_BIT_SHR | AT_BIT_SHU ) ^ additive )* )
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:287:7: additive ( ( AT_BIT_SHL | AT_BIT_SHR | AT_BIT_SHU ) ^ additive )*
-            {
-            root_0 = (CommonTree)adaptor.nil();
+    Token set24=null;
+    ParserRuleReturnScope relational23 =null;
+    ParserRuleReturnScope relational25 =null;
 
+    CommonTree set24_tree=null;
 
-            pushFollow(FOLLOW_additive_in_shift983);
-            additive29=additive();
-            state._fsp--;
-
-            adaptor.addChild(root_0, additive29.getTree());
-
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:287:16: ( ( AT_BIT_SHL | AT_BIT_SHR | AT_BIT_SHU ) ^ additive )*
-            loop9:
-            while (true) {
-                int alt9=2;
-                int LA9_0 = input.LA(1);
-                if ( ((LA9_0 >= AT_BIT_SHL && LA9_0 <= AT_BIT_SHU)) ) {
-                    alt9=1;
-                }
-
-                switch (alt9) {
-                case 1 :
-                    // src/java/org/apache/lucene/expressions/js/Javascript.g:287:17: ( AT_BIT_SHL | AT_BIT_SHR | AT_BIT_SHU ) ^ additive
-                    {
-                    set30=input.LT(1);
-                    set30=input.LT(1);
-                    if ( (input.LA(1) >= AT_BIT_SHL && input.LA(1) <= AT_BIT_SHU) ) {
-                        input.consume();
-                        root_0 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(set30), root_0);
-                        state.errorRecovery=false;
-                    }
-                    else {
-                        MismatchedSetException mse = new MismatchedSetException(null,input);
-                        throw mse;
-                    }
-                    pushFollow(FOLLOW_additive_in_shift999);
-                    additive31=additive();
-                    state._fsp--;
-
-                    adaptor.addChild(root_0, additive31.getTree());
-
-                    }
-                    break;
-
-                default :
-                    break loop9;
-                }
-            }
+    try {
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:279:5: ( relational ( ( AT_COMP_EQ | AT_COMP_NEQ ) ^ relational )* )
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:279:7: relational ( ( AT_COMP_EQ | AT_COMP_NEQ ) ^ relational )*
+      {
+      root_0 = (CommonTree)adaptor.nil();
 
-            }
 
-            retval.stop = input.LT(-1);
+      pushFollow(FOLLOW_relational_in_equality913);
+      relational23=relational();
+      state._fsp--;
 
-            retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+      adaptor.addChild(root_0, relational23.getTree());
 
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:279:18: ( ( AT_COMP_EQ | AT_COMP_NEQ ) ^ relational )*
+      loop7:
+      while (true) {
+        int alt7=2;
+        int LA7_0 = input.LA(1);
+        if ( (LA7_0==AT_COMP_EQ||LA7_0==AT_COMP_NEQ) ) {
+          alt7=1;
         }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-            retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
-        }
-        finally {
-            // do for sure before leaving
+
+        switch (alt7) {
+        case 1 :
+          // src/java/org/apache/lucene/expressions/js/Javascript.g:279:19: ( AT_COMP_EQ | AT_COMP_NEQ ) ^ relational
+          {
+          set24=input.LT(1);
+          set24=input.LT(1);
+          if ( input.LA(1)==AT_COMP_EQ||input.LA(1)==AT_COMP_NEQ ) {
+            input.consume();
+            root_0 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(set24), root_0);
+            state.errorRecovery=false;
+          }
+          else {
+            MismatchedSetException mse = new MismatchedSetException(null,input);
+            throw mse;
+          }
+          pushFollow(FOLLOW_relational_in_equality925);
+          relational25=relational();
+          state._fsp--;
+
+          adaptor.addChild(root_0, relational25.getTree());
+
+          }
+          break;
+
+        default :
+          break loop7;
         }
-        return retval;
-    }
-    // $ANTLR end "shift"
+      }
 
+      }
 
-    public static class additive_return extends ParserRuleReturnScope {
-        CommonTree tree;
-        @Override
-        public CommonTree getTree() { return tree; }
-    };
+      retval.stop = input.LT(-1);
+
+      retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
+      adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+
+    }
+    catch (RecognitionException re) {
+      reportError(re);
+      recover(input,re);
+      retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
+    }
+    finally {
+      // do for sure before leaving
+    }
+    return retval;
+  }
+  // $ANTLR end "equality"
 
 
-    // $ANTLR start "additive"
-    // src/java/org/apache/lucene/expressions/js/Javascript.g:290:1: additive : multiplicative ( ( AT_ADD | AT_SUBTRACT ) ^ multiplicative )* ;
-    public final JavascriptParser.additive_return additive() throws RecognitionException {
-        JavascriptParser.additive_return retval = new JavascriptParser.additive_return();
-        retval.start = input.LT(1);
+  public static class relational_return extends ParserRuleReturnScope {
+    CommonTree tree;
+    @Override
+    public CommonTree getTree() { return tree; }
+  };
 
-        CommonTree root_0 = null;
 
-        Token set33=null;
-        ParserRuleReturnScope multiplicative32 =null;
-        ParserRuleReturnScope multiplicative34 =null;
+  // $ANTLR start "relational"
+  // src/java/org/apache/lucene/expressions/js/Javascript.g:282:1: relational : shift ( ( AT_COMP_LT | AT_COMP_GT | AT_COMP_LTE | AT_COMP_GTE ) ^ shift )* ;
+  public final JavascriptParser.relational_return relational() throws RecognitionException {
+    JavascriptParser.relational_return retval = new JavascriptParser.relational_return();
+    retval.start = input.LT(1);
 
-        CommonTree set33_tree=null;
+    CommonTree root_0 = null;
 
-        try {
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:291:5: ( multiplicative ( ( AT_ADD | AT_SUBTRACT ) ^ multiplicative )* )
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:291:7: multiplicative ( ( AT_ADD | AT_SUBTRACT ) ^ multiplicative )*
-            {
-            root_0 = (CommonTree)adaptor.nil();
+    Token set27=null;
+    ParserRuleReturnScope shift26 =null;
+    ParserRuleReturnScope shift28 =null;
 
+    CommonTree set27_tree=null;
 
-            pushFollow(FOLLOW_multiplicative_in_additive1018);
-            multiplicative32=multiplicative();
-            state._fsp--;
-
-            adaptor.addChild(root_0, multiplicative32.getTree());
-
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:291:22: ( ( AT_ADD | AT_SUBTRACT ) ^ multiplicative )*
-            loop10:
-            while (true) {
-                int alt10=2;
-                int LA10_0 = input.LA(1);
-                if ( (LA10_0==AT_ADD||LA10_0==AT_SUBTRACT) ) {
-                    alt10=1;
-                }
-
-                switch (alt10) {
-                case 1 :
-                    // src/java/org/apache/lucene/expressions/js/Javascript.g:291:23: ( AT_ADD | AT_SUBTRACT ) ^ multiplicative
-                    {
-                    set33=input.LT(1);
-                    set33=input.LT(1);
-                    if ( input.LA(1)==AT_ADD||input.LA(1)==AT_SUBTRACT ) {
-                        input.consume();
-                        root_0 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(set33), root_0);
-                        state.errorRecovery=false;
-                    }
-                    else {
-                        MismatchedSetException mse = new MismatchedSetException(null,input);
-                        throw mse;
-                    }
-                    pushFollow(FOLLOW_multiplicative_in_additive1030);
-                    multiplicative34=multiplicative();
-                    state._fsp--;
-
-                    adaptor.addChild(root_0, multiplicative34.getTree());
-
-                    }
-                    break;
-
-                default :
-                    break loop10;
-                }
-            }
+    try {
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:283:5: ( shift ( ( AT_COMP_LT | AT_COMP_GT | AT_COMP_LTE | AT_COMP_GTE ) ^ shift )* )
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:283:7: shift ( ( AT_COMP_LT | AT_COMP_GT | AT_COMP_LTE | AT_COMP_GTE ) ^ shift )*
+      {
+      root_0 = (CommonTree)adaptor.nil();
 
-            }
 
-            retval.stop = input.LT(-1);
+      pushFollow(FOLLOW_shift_in_relational944);
+      shift26=shift();
+      state._fsp--;
 
-            retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+      adaptor.addChild(root_0, shift26.getTree());
 
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:283:13: ( ( AT_COMP_LT | AT_COMP_GT | AT_COMP_LTE | AT_COMP_GTE ) ^ shift )*
+      loop8:
+      while (true) {
+        int alt8=2;
+        int LA8_0 = input.LA(1);
+        if ( ((LA8_0 >= AT_COMP_GT && LA8_0 <= AT_COMP_LTE)) ) {
+          alt8=1;
         }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-            retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
-        }
-        finally {
-            // do for sure before leaving
+
+        switch (alt8) {
+        case 1 :
+          // src/java/org/apache/lucene/expressions/js/Javascript.g:283:14: ( AT_COMP_LT | AT_COMP_GT | AT_COMP_LTE | AT_COMP_GTE ) ^ shift
+          {
+          set27=input.LT(1);
+          set27=input.LT(1);
+          if ( (input.LA(1) >= AT_COMP_GT && input.LA(1) <= AT_COMP_LTE) ) {
+            input.consume();
+            root_0 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(set27), root_0);
+            state.errorRecovery=false;
+          }
+          else {
+            MismatchedSetException mse = new MismatchedSetException(null,input);
+            throw mse;
+          }
+          pushFollow(FOLLOW_shift_in_relational964);
+          shift28=shift();
+          state._fsp--;
+
+          adaptor.addChild(root_0, shift28.getTree());
+
+          }
+          break;
+
+        default :
+          break loop8;
         }
-        return retval;
+      }
+
+      }
+
+      retval.stop = input.LT(-1);
+
+      retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
+      adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+
+    }
+    catch (RecognitionException re) {
+      reportError(re);
+      recover(input,re);
+      retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
     }
-    // $ANTLR end "additive"
+    finally {
+      // do for sure before leaving
+    }
+    return retval;
+  }
+  // $ANTLR end "relational"
 
 
-    public static class multiplicative_return extends ParserRuleReturnScope {
-        CommonTree tree;
-        @Override
-        public CommonTree getTree() { return tree; }
-    };
+  public static class shift_return extends ParserRuleReturnScope {
+    CommonTree tree;
+    @Override
+    public CommonTree getTree() { return tree; }
+  };
 
 
-    // $ANTLR start "multiplicative"
-    // src/java/org/apache/lucene/expressions/js/Javascript.g:294:1: multiplicative : unary ( ( AT_MULTIPLY | AT_DIVIDE | AT_MODULO ) ^ unary )* ;
-    public final JavascriptParser.multiplicative_return multiplicative() throws RecognitionException {
-        JavascriptParser.multiplicative_return retval = new JavascriptParser.multiplicative_return();
-        retval.start = input.LT(1);
+  // $ANTLR start "shift"
+  // src/java/org/apache/lucene/expressions/js/Javascript.g:286:1: shift : additive ( ( AT_BIT_SHL | AT_BIT_SHR | AT_BIT_SHU ) ^ additive )* ;
+  public final JavascriptParser.shift_return shift() throws RecognitionException {
+    JavascriptParser.shift_return retval = new JavascriptParser.shift_return();
+    retval.start = input.LT(1);
 
-        CommonTree root_0 = null;
+    CommonTree root_0 = null;
 
-        Token set36=null;
-        ParserRuleReturnScope unary35 =null;
-        ParserRuleReturnScope unary37 =null;
+    Token set30=null;
+    ParserRuleReturnScope additive29 =null;
+    ParserRuleReturnScope additive31 =null;
 
-        CommonTree set36_tree=null;
+    CommonTree set30_tree=null;
 
-        try {
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:295:5: ( unary ( ( AT_MULTIPLY | AT_DIVIDE | AT_MODULO ) ^ unary )* )
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:295:7: unary ( ( AT_MULTIPLY | AT_DIVIDE | AT_MODULO ) ^ unary )*
-            {
-            root_0 = (CommonTree)adaptor.nil();
+    try {
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:287:5: ( additive ( ( AT_BIT_SHL | AT_BIT_SHR | AT_BIT_SHU ) ^ additive )* )
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:287:7: additive ( ( AT_BIT_SHL | AT_BIT_SHR | AT_BIT_SHU ) ^ additive )*
+      {
+      root_0 = (CommonTree)adaptor.nil();
 
 
-            pushFollow(FOLLOW_unary_in_multiplicative1049);
-            unary35=unary();
-            state._fsp--;
-
-            adaptor.addChild(root_0, unary35.getTree());
-
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:295:13: ( ( AT_MULTIPLY | AT_DIVIDE | AT_MODULO ) ^ unary )*
-            loop11:
-            while (true) {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
-                if ( (LA11_0==AT_DIVIDE||(LA11_0 >= AT_MODULO && LA11_0 <= AT_MULTIPLY)) ) {
-                    alt11=1;
-                }
-
-                switch (alt11) {
-                case 1 :
-                    // src/java/org/apache/lucene/expressions/js/Javascript.g:295:14: ( AT_MULTIPLY | AT_DIVIDE | AT_MODULO ) ^ unary
-                    {
-                    set36=input.LT(1);
-                    set36=input.LT(1);
-                    if ( input.LA(1)==AT_DIVIDE||(input.LA(1) >= AT_MODULO && input.LA(1) <= AT_MULTIPLY) ) {
-                        input.consume();
-                        root_0 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(set36), root_0);
-                        state.errorRecovery=false;
-                    }
-                    else {
-                        MismatchedSetException mse = new MismatchedSetException(null,input);
-                        throw mse;
-                    }
-                    pushFollow(FOLLOW_unary_in_multiplicative1065);
-                    unary37=unary();
-                    state._fsp--;
-
-                    adaptor.addChild(root_0, unary37.getTree());
-
-                    }
-                    break;
-
-                default :
-                    break loop11;
-                }
-            }
+      pushFollow(FOLLOW_additive_in_shift983);
+      additive29=additive();
+      state._fsp--;
 
-            }
+      adaptor.addChild(root_0, additive29.getTree());
 
-            retval.stop = input.LT(-1);
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:287:16: ( ( AT_BIT_SHL | AT_BIT_SHR | AT_BIT_SHU ) ^ additive )*
+      loop9:
+      while (true) {
+        int alt9=2;
+        int LA9_0 = input.LA(1);
+        if ( ((LA9_0 >= AT_BIT_SHL && LA9_0 <= AT_BIT_SHU)) ) {
+          alt9=1;
+        }
+
+        switch (alt9) {
+        case 1 :
+          // src/java/org/apache/lucene/expressions/js/Javascript.g:287:17: ( AT_BIT_SHL | AT_BIT_SHR | AT_BIT_SHU ) ^ additive
+          {
+          set30=input.LT(1);
+          set30=input.LT(1);
+          if ( (input.LA(1) >= AT_BIT_SHL && input.LA(1) <= AT_BIT_SHU) ) {
+            input.consume();
+            root_0 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(set30), root_0);
+            state.errorRecovery=false;
+          }
+          else {
+            MismatchedSetException mse = new MismatchedSetException(null,input);
+            throw mse;
+          }
+          pushFollow(FOLLOW_additive_in_shift999);
+          additive31=additive();
+          state._fsp--;
 
-            retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+          adaptor.addChild(root_0, additive31.getTree());
 
+          }
+          break;
+
+        default :
+          break loop9;
         }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-            retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
-        }
-        finally {
-            // do for sure before leaving
-        }
-        return retval;
-    }
-    // $ANTLR end "multiplicative"
-
-
-    public static class unary_return extends ParserRuleReturnScope {
-        CommonTree tree;
-        @Override
-        public CommonTree getTree() { return tree; }
-    };
-
-
-    // $ANTLR start "unary"
-    // src/java/org/apache/lucene/expressions/js/Javascript.g:298:1: unary : ( postfix | AT_ADD ! unary | unary_operator ^ unary );
-    public final JavascriptParser.unary_return unary() throws RecognitionException {
-        JavascriptParser.unary_return retval = new JavascriptParser.unary_return();
-        retval.start = input.LT(1);
-
-        CommonTree root_0 = null;
-
-        Token AT_ADD39=null;
-        ParserRuleReturnScope postfix38 =null;
-        ParserRuleReturnScope unary40 =null;
-        ParserRuleReturnScope unary_operator41 =null;
-        ParserRuleReturnScope unary42 =null;
-
-        CommonTree AT_ADD39_tree=null;
-
-        try {
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:299:5: ( postfix | AT_ADD ! unary | unary_operator ^ unary )
-            int alt12=3;
-            switch ( input.LA(1) ) {
-            case AT_LPAREN:
-            case DECIMAL:
-            case HEX:
-            case ID:
-            case OCTAL:
-                {
-                alt12=1;
-                }
-                break;
-            case AT_ADD:
-                {
-                alt12=2;
-                }
-                break;
-            case AT_BIT_NOT:
-            case AT_BOOL_NOT:
-            case AT_SUBTRACT:
-                {
-                alt12=3;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 12, 0, input);
-                throw nvae;
-            }
-            switch (alt12) {
-                case 1 :
-                    // src/java/org/apache/lucene/expressions/js/Javascript.g:299:7: postfix
-                    {
-                    root_0 = (CommonTree)adaptor.nil();
+      }
 
+      }
 
-                    pushFollow(FOLLOW_postfix_in_unary1084);
-                    postfix38=postfix();
-                    state._fsp--;
+      retval.stop = input.LT(-1);
 
-                    adaptor.addChild(root_0, postfix38.getTree());
+      retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
+      adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
 
-                    }
-                    break;
-                case 2 :
-                    // src/java/org/apache/lucene/expressions/js/Javascript.g:300:7: AT_ADD ! unary
-                    {
-                    root_0 = (CommonTree)adaptor.nil();
+    }
+    catch (RecognitionException re) {
+      reportError(re);
+      recover(input,re);
+      retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
+    }
+    finally {
+      // do for sure before leaving
+    }
+    return retval;
+  }
+  // $ANTLR end "shift"
 
 
-                    AT_ADD39=(Token)match(input,AT_ADD,FOLLOW_AT_ADD_in_unary1092); 
-                    pushFollow(FOLLOW_unary_in_unary1095);
-                    unary40=unary();
-                    state._fsp--;
+  public static class additive_return extends ParserRuleReturnScope {
+    CommonTree tree;
+    @Override
+    public CommonTree getTree() { return tree; }
+  };
 
-                    adaptor.addChild(root_0, unary40.getTree());
 
-                    }
-                    break;
-                case 3 :
-                    // src/java/org/apache/lucene/expressions/js/Javascript.g:301:7: unary_operator ^ unary
-                    {
-                    root_0 = (CommonTree)adaptor.nil();
+  // $ANTLR start "additive"
+  // src/java/org/apache/lucene/expressions/js/Javascript.g:290:1: additive : multiplicative ( ( AT_ADD | AT_SUBTRACT ) ^ multiplicative )* ;
+  public final JavascriptParser.additive_return additive() throws RecognitionException {
+    JavascriptParser.additive_return retval = new JavascriptParser.additive_return();
+    retval.start = input.LT(1);
 
+    CommonTree root_0 = null;
 
-                    pushFollow(FOLLOW_unary_operator_in_unary1103);
-                    unary_operator41=unary_operator();
-                    state._fsp--;
+    Token set33=null;
+    ParserRuleReturnScope multiplicative32 =null;
+    ParserRuleReturnScope multiplicative34 =null;
 
-                    root_0 = (CommonTree)adaptor.becomeRoot(unary_operator41.getTree(), root_0);
-                    pushFollow(FOLLOW_unary_in_unary1106);
-                    unary42=unary();
-                    state._fsp--;
+    CommonTree set33_tree=null;
 
-                    adaptor.addChild(root_0, unary42.getTree());
+    try {
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:291:5: ( multiplicative ( ( AT_ADD | AT_SUBTRACT ) ^ multiplicative )* )
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:291:7: multiplicative ( ( AT_ADD | AT_SUBTRACT ) ^ multiplicative )*
+      {
+      root_0 = (CommonTree)adaptor.nil();
 
-                    }
-                    break;
 
-            }
-            retval.stop = input.LT(-1);
+      pushFollow(FOLLOW_multiplicative_in_additive1018);
+      multiplicative32=multiplicative();
+      state._fsp--;
 
-            retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+      adaptor.addChild(root_0, multiplicative32.getTree());
 
+      // src/java/org/apache/lucene/expressions/js/Javascript.g:291:22: ( ( AT_ADD | AT_SUBTRACT ) ^ multiplicative )*
+      loop10:
+      while (true) {
+        int alt10=2;
+        int LA10_0 = input.LA(1);
+        if ( (LA10_0==AT_ADD||LA10_0==AT_SUBTRACT) ) {
+          alt10=1;
         }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-            retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
-        }
-        finally {
-            // do for sure before leaving
-        }
-        return retval;
-    }
-    // $ANTLR end "unary"
-
-
-    public static class unary_operator_return extends ParserRuleReturnScope {
-        CommonTree tree;
-        @Override
-        public CommonTree getTree() { return tree; }
-    };
-
-
-    // $ANTLR start "unary_operator"
-    // src/java/org/apache/lucene/expressions/js/Javascript.g:304:1: unary_operator : ( AT_SUBTRACT -> AT_NEGATE | AT_BIT_NOT | AT_BOOL_NOT );
-    public final JavascriptParser.unary_operator_return unary_operator() throws RecognitionException {
-        JavascriptParser.unary_operator_return retval = new JavascriptParser.unary_operator_return();
-        retval.start = input.LT(1);
-
-        CommonTree root_0 = null;
-
-        Token AT_SUBTRACT43=null;
-        Token AT_BIT_NOT44=null;
-        Token AT_BOOL_NOT45=null;
-
-        CommonTree AT_SUBTRACT43_tree=null;
-        CommonTree AT_BIT_NOT44_tree=null;
-        CommonTree AT_BOOL_NOT45_tree=null;
-        RewriteRuleTokenStream stream_AT_SUBTRACT=new RewriteRuleTokenStream(adaptor,"token AT_SUBTRACT");
-
-        try {
-            // src/java/org/apache/lucene/expressions/js/Javascript.g:305:5: ( AT_SUBTRACT -> AT_NEGATE | AT_BIT_NOT | AT_BOOL_NOT )
-            int alt13=3;
-            switch ( input.LA(1) ) {
-            case AT_SUBTRACT:
-                {
-                alt13=1;
-                }
-                break;
-            case AT_BIT_NOT:
-                {
-                alt13=2;
-                }
-                break;
-            case AT_BOOL_NOT:
-                {
-                alt13=3;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 13, 0, input);
-                throw nvae;
-            }
-            switch (alt13) {
-                case 1 :
-                    // src/java/org/apache/lucene/expressions/js/Javascript.g:305:7: AT_SUBTRACT
-                    {
-                    AT_SUBTRACT43=(Token)match(input,AT_SUBTRACT,FOLLOW_AT_SUBTRACT_in_unary_operator1123);  
-                    stream_AT_SUBTRACT.add(AT_SUBTRACT43);
-
-                    // AST REWRITE
-                    // elements: 
-                    // token labels: 
-                    // rule labels: retval
-                    // token list labels: 
-                    // rule list labels: 
-                    // wildcard labels: 
-                    retval.tree = root_0;
-                    RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
-                    root_0 = (CommonTree)adaptor.nil();
-                    // 305:19: -> AT_NEGATE
-                    {
-                        adaptor.addChild(root_0, (CommonTree)adaptor.create(AT_NEGATE, "AT_NEGATE"));
-                    }
-
-
-                    retval.tree = root_0;
-
-                    }
-                    break;
-                case 2 :
-                    // src/java/org/apache/lucene/expressions/js/Javascript.g:306:7: AT_BIT_NOT
-                    {
-                    root_0 = (CommonTree)adaptor.nil();
-
-
-                    AT_BIT_NOT44=(Token)match(input,AT_BIT_NOT,FOLLOW_AT_BIT_NOT_in_unary_operator1135); 
-                    AT_BIT_NOT44_tree = (CommonTree)adaptor.create(AT_BIT_NOT44);
-                    adaptor.addChild(root_0, AT_BIT_NOT44_tree);
-
-                    }
-                    break;
-                case 3 :
-                    // src/java/org/apache/lucene/expressions/js/Javascript.g:307:7: AT_BOOL_NOT
-                    {
-                    root_0 = (CommonTree)adaptor.nil();
-
-
-                    AT_BOOL_NOT45=(Token)match(input,AT_BOOL_NOT,FOLLOW_AT_BOOL_NOT_in_unary_operator1143); 
-                    AT_BOOL_NOT45_tree = (CommonTree)adaptor.create(AT_BOOL_NOT45);
-                    adaptor.addChild(root_0, AT_BOOL_NOT45_tree);
 
-                    }
-                    break;
+        switch (alt10) {
+        case 1 :
+          // src/java/org/apache/lucene/expressions/js/Javascript.g:291:23: ( AT_ADD | AT_SUBTRACT ) ^ multiplicative
+          {
+          set33=input.LT(1);
+          set33=input.LT(1);
+          if ( input.LA(1)==AT_ADD||input.LA(1)==AT_SUBTRACT ) {
+            input.consume();
+            root_0 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(set33), root_0);
+            state.errorRecovery=false;
+          }
+          else {
+            MismatchedSetException mse = new MismatchedSetException(null,input);
+            throw mse;
+          }
+          pushFollow(FOLLOW_multiplicative_in_additive1030);
+          multiplicative34=multiplicative();
+          state._fsp--;
 
-            }
-            retval.stop = input.LT(-1);
+          adaptor.addChild(root_0, multiplicative34.getTree());
 
-            retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+          }
+          break;
 
+        default :
+          break loop10;
         }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-            retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
-        }
-        finally {
-            // do for sure before leaving
-        }
-        return retval;
-    }
-    // $ANTLR end "unary_operator"
-
-

[... 1257 lines stripped ...]