Coverage Report - org.apache.commons.el.parser.ELParser
 
Classes in this File Line Coverage Branch Coverage Complexity
ELParser
44%
462/1048
21%
295/1398
9.051
ELParser$JJCalls
100%
1/1
N/A
9.051
 
 1  
 /* Generated By:JavaCC: Do not edit this line. ELParser.java */
 2  
 package org.apache.commons.el.parser;
 3  
 
 4  
 import java.util.ArrayList;
 5  
 import java.util.List;
 6  
 
 7  
 import org.apache.commons.el.AndOperator;
 8  
 import org.apache.commons.el.ArraySuffix;
 9  
 import org.apache.commons.el.BinaryOperator;
 10  
 import org.apache.commons.el.BinaryOperatorExpression;
 11  
 import org.apache.commons.el.BooleanLiteral;
 12  
 import org.apache.commons.el.ComplexValue;
 13  
 import org.apache.commons.el.ConditionalExpression;
 14  
 import org.apache.commons.el.DivideOperator;
 15  
 import org.apache.commons.el.EmptyOperator;
 16  
 import org.apache.commons.el.EqualsOperator;
 17  
 import org.apache.commons.el.Expression;
 18  
 import org.apache.commons.el.ExpressionString;
 19  
 import org.apache.commons.el.FloatingPointLiteral;
 20  
 import org.apache.commons.el.FunctionInvocation;
 21  
 import org.apache.commons.el.GreaterThanOperator;
 22  
 import org.apache.commons.el.GreaterThanOrEqualsOperator;
 23  
 import org.apache.commons.el.IntegerLiteral;
 24  
 import org.apache.commons.el.LessThanOperator;
 25  
 import org.apache.commons.el.LessThanOrEqualsOperator;
 26  
 import org.apache.commons.el.Literal;
 27  
 import org.apache.commons.el.MinusOperator;
 28  
 import org.apache.commons.el.ModulusOperator;
 29  
 import org.apache.commons.el.MultiplyOperator;
 30  
 import org.apache.commons.el.NamedValue;
 31  
 import org.apache.commons.el.NotEqualsOperator;
 32  
 import org.apache.commons.el.NotOperator;
 33  
 import org.apache.commons.el.NullLiteral;
 34  
 import org.apache.commons.el.OrOperator;
 35  
 import org.apache.commons.el.PlusOperator;
 36  
 import org.apache.commons.el.PropertySuffix;
 37  
 import org.apache.commons.el.StringLiteral;
 38  
 import org.apache.commons.el.UnaryMinusOperator;
 39  
 import org.apache.commons.el.UnaryOperator;
 40  
 import org.apache.commons.el.UnaryOperatorExpression;
 41  
 import org.apache.commons.el.ValueSuffix;
 42  
 
 43  
 /**
 44  
  * Generated EL parser.
 45  
  * 
 46  
  * @author Nathan Abramson
 47  
  * @author Shawn Bayern
 48  
  */
 49  
 
 50  
 public class ELParser implements ELParserConstants {
 51  
 
 52  
   public static void main(String args[])
 53  
        throws ParseException
 54  
   {
 55  0
     ELParser parser = new ELParser (System.in);
 56  0
     parser.ExpressionString ();
 57  0
   }
 58  
 
 59  
 /*****************************************
 60  
  * GRAMMAR PRODUCTIONS *
 61  
  *****************************************/
 62  
 
 63  
 /**
 64  
  *
 65  
  * Returns a String if the expression string is a single String, an
 66  
  * Expression if the expression string is a single Expression, an
 67  
  * ExpressionString if it's a mixture of both.
 68  
  **/
 69  
   final public Object ExpressionString() throws ParseException {
 70  8
   Object ret = "";
 71  8
   List elems = null;
 72  
   Object elem;
 73  8
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 74  
     case NON_EXPRESSION_TEXT:
 75  0
       ret = AttrValueString();
 76  0
       break;
 77  
     case START_EXPRESSION:
 78  8
       ret = AttrValueExpression();
 79  8
       break;
 80  
     default:
 81  0
       jj_la1[0] = jj_gen;
 82  0
       jj_consume_token(-1);
 83  0
       throw new ParseException();
 84  
     }
 85  
     label_1:
 86  
     while (true) {
 87  8
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 88  
       case NON_EXPRESSION_TEXT:
 89  
       case START_EXPRESSION:
 90  
         ;
 91  0
         break;
 92  
       default:
 93  8
         jj_la1[1] = jj_gen;
 94  8
         break label_1;
 95  
       }
 96  0
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 97  
       case NON_EXPRESSION_TEXT:
 98  0
         elem = AttrValueString();
 99  0
         break;
 100  
       case START_EXPRESSION:
 101  0
         elem = AttrValueExpression();
 102  0
         break;
 103  
       default:
 104  0
         jj_la1[2] = jj_gen;
 105  0
         jj_consume_token(-1);
 106  0
         throw new ParseException();
 107  
       }
 108  0
        if (elems == null) {
 109  0
          elems = new ArrayList ();
 110  0
          elems.add (ret);
 111  
        }
 112  0
        elems.add (elem);
 113  
     }
 114  8
     if (elems != null) {
 115  0
       ret = new ExpressionString (elems.toArray ());
 116  
     }
 117  8
     {if (true) return ret;}
 118  
     throw new Error("Missing return statement in function");
 119  
   }
 120  
 
 121  
   final public String AttrValueString() throws ParseException {
 122  
   Token t;
 123  0
     t = jj_consume_token(NON_EXPRESSION_TEXT);
 124  0
     {if (true) return t.image;}
 125  
     throw new Error("Missing return statement in function");
 126  
   }
 127  
 
 128  
   final public Expression AttrValueExpression() throws ParseException {
 129  
   Expression exp;
 130  8
     jj_consume_token(START_EXPRESSION);
 131  8
     exp = Expression();
 132  8
     jj_consume_token(END_EXPRESSION);
 133  8
      {if (true) return exp;}
 134  
     throw new Error("Missing return statement in function");
 135  
   }
 136  
 
 137  
   final public Expression Expression() throws ParseException {
 138  
   Expression ret;
 139  9
     if (jj_2_1(2147483647)) {
 140  0
       ret = ConditionalExpression();
 141  
     } else {
 142  9
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 143  
       case INTEGER_LITERAL:
 144  
       case FLOATING_POINT_LITERAL:
 145  
       case STRING_LITERAL:
 146  
       case TRUE:
 147  
       case FALSE:
 148  
       case NULL:
 149  
       case LPAREN:
 150  
       case MINUS:
 151  
       case NOT1:
 152  
       case NOT2:
 153  
       case EMPTY:
 154  
       case IDENTIFIER:
 155  9
         ret = OrExpression();
 156  9
         break;
 157  
       default:
 158  0
         jj_la1[3] = jj_gen;
 159  0
         jj_consume_token(-1);
 160  0
         throw new ParseException();
 161  
       }
 162  
     }
 163  9
     {if (true) return ret;}
 164  
     throw new Error("Missing return statement in function");
 165  
   }
 166  
 
 167  
   final public Expression OrExpression() throws ParseException {
 168  
   Expression startExpression;
 169  
   BinaryOperator operator;
 170  
   Expression expression;
 171  9
   List operators = null;
 172  9
   List expressions = null;
 173  9
     startExpression = AndExpression();
 174  
     label_2:
 175  
     while (true) {
 176  9
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 177  
       case OR1:
 178  
       case OR2:
 179  
         ;
 180  0
         break;
 181  
       default:
 182  9
         jj_la1[4] = jj_gen;
 183  9
         break label_2;
 184  
       }
 185  0
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 186  
       case OR1:
 187  0
         jj_consume_token(OR1);
 188  0
         break;
 189  
       case OR2:
 190  0
         jj_consume_token(OR2);
 191  0
         break;
 192  
       default:
 193  0
         jj_la1[5] = jj_gen;
 194  0
         jj_consume_token(-1);
 195  0
         throw new ParseException();
 196  
       }
 197  0
                         operator = OrOperator.SINGLETON;
 198  0
       expression = AndExpression();
 199  0
         if (operators == null) {
 200  0
           operators = new ArrayList ();
 201  0
           expressions = new ArrayList ();
 202  
         }
 203  0
         operators.add (operator);
 204  0
         expressions.add (expression);
 205  
     }
 206  9
     if (operators != null) {
 207  0
       {if (true) return new BinaryOperatorExpression (startExpression,
 208  
                                            operators,
 209  
                                            expressions);}
 210  
     }
 211  
     else {
 212  9
       {if (true) return startExpression;}
 213  
     }
 214  
     throw new Error("Missing return statement in function");
 215  
   }
 216  
 
 217  
   final public Expression AndExpression() throws ParseException {
 218  
   Expression startExpression;
 219  
   BinaryOperator operator;
 220  
   Expression expression;
 221  9
   List operators = null;
 222  9
   List expressions = null;
 223  9
     startExpression = EqualityExpression();
 224  
     label_3:
 225  
     while (true) {
 226  9
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 227  
       case AND1:
 228  
       case AND2:
 229  
         ;
 230  0
         break;
 231  
       default:
 232  9
         jj_la1[6] = jj_gen;
 233  9
         break label_3;
 234  
       }
 235  0
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 236  
       case AND1:
 237  0
         jj_consume_token(AND1);
 238  0
         break;
 239  
       case AND2:
 240  0
         jj_consume_token(AND2);
 241  0
         break;
 242  
       default:
 243  0
         jj_la1[7] = jj_gen;
 244  0
         jj_consume_token(-1);
 245  0
         throw new ParseException();
 246  
       }
 247  0
                           operator = AndOperator.SINGLETON;
 248  0
       expression = EqualityExpression();
 249  0
         if (operators == null) {
 250  0
           operators = new ArrayList ();
 251  0
           expressions = new ArrayList ();
 252  
         }
 253  0
         operators.add (operator);
 254  0
         expressions.add (expression);
 255  
     }
 256  9
     if (operators != null) {
 257  0
       {if (true) return new BinaryOperatorExpression (startExpression,
 258  
                                            operators,
 259  
                                            expressions);}
 260  
     }
 261  
     else {
 262  9
       {if (true) return startExpression;}
 263  
     }
 264  
     throw new Error("Missing return statement in function");
 265  
   }
 266  
 
 267  
   final public Expression EqualityExpression() throws ParseException {
 268  
   Expression startExpression;
 269  
   BinaryOperator operator;
 270  
   Expression expression;
 271  9
   List operators = null;
 272  9
   List expressions = null;
 273  9
     startExpression = RelationalExpression();
 274  
     label_4:
 275  
     while (true) {
 276  9
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 277  
       case EQ1:
 278  
       case EQ2:
 279  
       case NE1:
 280  
       case NE2:
 281  
         ;
 282  0
         break;
 283  
       default:
 284  9
         jj_la1[8] = jj_gen;
 285  9
         break label_4;
 286  
       }
 287  0
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 288  
       case EQ1:
 289  
       case EQ2:
 290  0
         switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 291  
         case EQ1:
 292  0
           jj_consume_token(EQ1);
 293  0
           break;
 294  
         case EQ2:
 295  0
           jj_consume_token(EQ2);
 296  0
           break;
 297  
         default:
 298  0
           jj_la1[9] = jj_gen;
 299  0
           jj_consume_token(-1);
 300  0
           throw new ParseException();
 301  
         }
 302  0
                         operator = EqualsOperator.SINGLETON;
 303  0
         break;
 304  
       case NE1:
 305  
       case NE2:
 306  0
         switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 307  
         case NE1:
 308  0
           jj_consume_token(NE1);
 309  0
           break;
 310  
         case NE2:
 311  0
           jj_consume_token(NE2);
 312  0
           break;
 313  
         default:
 314  0
           jj_la1[10] = jj_gen;
 315  0
           jj_consume_token(-1);
 316  0
           throw new ParseException();
 317  
         }
 318  0
                           operator = NotEqualsOperator.SINGLETON;
 319  0
         break;
 320  
       default:
 321  0
         jj_la1[11] = jj_gen;
 322  0
         jj_consume_token(-1);
 323  0
         throw new ParseException();
 324  
       }
 325  0
       expression = RelationalExpression();
 326  0
         if (operators == null) {
 327  0
           operators = new ArrayList ();
 328  0
           expressions = new ArrayList ();
 329  
         }
 330  0
         operators.add (operator);
 331  0
         expressions.add (expression);
 332  
     }
 333  9
     if (operators != null) {
 334  0
       {if (true) return new BinaryOperatorExpression (startExpression,
 335  
                                            operators,
 336  
                                            expressions);}
 337  
     }
 338  
     else {
 339  9
       {if (true) return startExpression;}
 340  
     }
 341  
     throw new Error("Missing return statement in function");
 342  
   }
 343  
 
 344  
   final public Expression RelationalExpression() throws ParseException {
 345  
   Expression startExpression;
 346  
   BinaryOperator operator;
 347  
   Expression expression;
 348  9
   List operators = null;
 349  9
   List expressions = null;
 350  9
     startExpression = AddExpression();
 351  
     label_5:
 352  
     while (true) {
 353  9
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 354  
       case GT1:
 355  
       case GT2:
 356  
       case LT1:
 357  
       case LT2:
 358  
       case LE1:
 359  
       case LE2:
 360  
       case GE1:
 361  
       case GE2:
 362  
         ;
 363  0
         break;
 364  
       default:
 365  9
         jj_la1[12] = jj_gen;
 366  9
         break label_5;
 367  
       }
 368  0
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 369  
       case LT1:
 370  
       case LT2:
 371  0
         switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 372  
         case LT1:
 373  0
           jj_consume_token(LT1);
 374  0
           break;
 375  
         case LT2:
 376  0
           jj_consume_token(LT2);
 377  0
           break;
 378  
         default:
 379  0
           jj_la1[13] = jj_gen;
 380  0
           jj_consume_token(-1);
 381  0
           throw new ParseException();
 382  
         }
 383  0
                         operator = LessThanOperator.SINGLETON;
 384  0
         break;
 385  
       case GT1:
 386  
       case GT2:
 387  0
         switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 388  
         case GT1:
 389  0
           jj_consume_token(GT1);
 390  0
           break;
 391  
         case GT2:
 392  0
           jj_consume_token(GT2);
 393  0
           break;
 394  
         default:
 395  0
           jj_la1[14] = jj_gen;
 396  0
           jj_consume_token(-1);
 397  0
           throw new ParseException();
 398  
         }
 399  0
                           operator = GreaterThanOperator.SINGLETON;
 400  0
         break;
 401  
       case GE1:
 402  
       case GE2:
 403  0
         switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 404  
         case GE1:
 405  0
           jj_consume_token(GE1);
 406  0
           break;
 407  
         case GE2:
 408  0
           jj_consume_token(GE2);
 409  0
           break;
 410  
         default:
 411  0
           jj_la1[15] = jj_gen;
 412  0
           jj_consume_token(-1);
 413  0
           throw new ParseException();
 414  
         }
 415  0
                           operator = GreaterThanOrEqualsOperator.SINGLETON;
 416  0
         break;
 417  
       case LE1:
 418  
       case LE2:
 419  0
         switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 420  
         case LE1:
 421  0
           jj_consume_token(LE1);
 422  0
           break;
 423  
         case LE2:
 424  0
           jj_consume_token(LE2);
 425  0
           break;
 426  
         default:
 427  0
           jj_la1[16] = jj_gen;
 428  0
           jj_consume_token(-1);
 429  0
           throw new ParseException();
 430  
         }
 431  0
                           operator = LessThanOrEqualsOperator.SINGLETON;
 432  0
         break;
 433  
       default:
 434  0
         jj_la1[17] = jj_gen;
 435  0
         jj_consume_token(-1);
 436  0
         throw new ParseException();
 437  
       }
 438  0
       expression = AddExpression();
 439  0
         if (operators == null) {
 440  0
           operators = new ArrayList ();
 441  0
           expressions = new ArrayList ();
 442  
         }
 443  0
         operators.add (operator);
 444  0
         expressions.add (expression);
 445  
     }
 446  9
     if (operators != null) {
 447  0
       {if (true) return new BinaryOperatorExpression (startExpression,
 448  
                                            operators,
 449  
                                            expressions);}
 450  
     }
 451  
     else {
 452  9
       {if (true) return startExpression;}
 453  
     }
 454  
     throw new Error("Missing return statement in function");
 455  
   }
 456  
 
 457  
   final public Expression AddExpression() throws ParseException {
 458  
   Expression startExpression;
 459  
   BinaryOperator operator;
 460  
   Expression expression;
 461  9
   List operators = null;
 462  9
   List expressions = null;
 463  9
     startExpression = MultiplyExpression();
 464  
     label_6:
 465  
     while (true) {
 466  11
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 467  
       case PLUS:
 468  
       case MINUS:
 469  
         ;
 470  2
         break;
 471  
       default:
 472  9
         jj_la1[18] = jj_gen;
 473  9
         break label_6;
 474  
       }
 475  2
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 476  
       case PLUS:
 477  1
         jj_consume_token(PLUS);
 478  1
                operator = PlusOperator.SINGLETON;
 479  1
         break;
 480  
       case MINUS:
 481  1
         jj_consume_token(MINUS);
 482  1
                   operator = MinusOperator.SINGLETON;
 483  1
         break;
 484  
       default:
 485  0
         jj_la1[19] = jj_gen;
 486  0
         jj_consume_token(-1);
 487  0
         throw new ParseException();
 488  
       }
 489  2
       expression = MultiplyExpression();
 490  2
         if (operators == null) {
 491  2
           operators = new ArrayList ();
 492  2
           expressions = new ArrayList ();
 493  
         }
 494  2
         operators.add (operator);
 495  2
         expressions.add (expression);
 496  
     }
 497  9
     if (operators != null) {
 498  2
       {if (true) return new BinaryOperatorExpression (startExpression,
 499  
                                            operators,
 500  
                                            expressions);}
 501  
     }
 502  
     else {
 503  7
       {if (true) return startExpression;}
 504  
     }
 505  
     throw new Error("Missing return statement in function");
 506  
   }
 507  
 
 508  
   final public Expression MultiplyExpression() throws ParseException {
 509  
   Expression startExpression;
 510  
   BinaryOperator operator;
 511  
   Expression expression;
 512  11
   List operators = null;
 513  11
   List expressions = null;
 514  11
     startExpression = UnaryExpression();
 515  
     label_7:
 516  
     while (true) {
 517  11
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 518  
       case MULTIPLY:
 519  
       case DIVIDE1:
 520  
       case DIVIDE2:
 521  
       case MODULUS1:
 522  
       case MODULUS2:
 523  
         ;
 524  0
         break;
 525  
       default:
 526  11
         jj_la1[20] = jj_gen;
 527  11
         break label_7;
 528  
       }
 529  0
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 530  
       case MULTIPLY:
 531  0
         jj_consume_token(MULTIPLY);
 532  0
                    operator = MultiplyOperator.SINGLETON;
 533  0
         break;
 534  
       case DIVIDE1:
 535  
       case DIVIDE2:
 536  0
         switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 537  
         case DIVIDE1:
 538  0
           jj_consume_token(DIVIDE1);
 539  0
           break;
 540  
         case DIVIDE2:
 541  0
           jj_consume_token(DIVIDE2);
 542  0
           break;
 543  
         default:
 544  0
           jj_la1[21] = jj_gen;
 545  0
           jj_consume_token(-1);
 546  0
           throw new ParseException();
 547  
         }
 548  0
                                   operator = DivideOperator.SINGLETON;
 549  0
         break;
 550  
       case MODULUS1:
 551  
       case MODULUS2:
 552  0
         switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 553  
         case MODULUS1:
 554  0
           jj_consume_token(MODULUS1);
 555  0
           break;
 556  
         case MODULUS2:
 557  0
           jj_consume_token(MODULUS2);
 558  0
           break;
 559  
         default:
 560  0
           jj_la1[22] = jj_gen;
 561  0
           jj_consume_token(-1);
 562  0
           throw new ParseException();
 563  
         }
 564  0
                                     operator = ModulusOperator.SINGLETON;
 565  0
         break;
 566  
       default:
 567  0
         jj_la1[23] = jj_gen;
 568  0
         jj_consume_token(-1);
 569  0
         throw new ParseException();
 570  
       }
 571  0
       expression = UnaryExpression();
 572  0
         if (operators == null) {
 573  0
           operators = new ArrayList ();
 574  0
           expressions = new ArrayList ();
 575  
         }
 576  0
         operators.add (operator);
 577  0
         expressions.add (expression);
 578  
     }
 579  11
     if (operators != null) {
 580  0
       {if (true) return new BinaryOperatorExpression (startExpression,
 581  
                                            operators,
 582  
                                            expressions);}
 583  
     }
 584  
     else {
 585  11
       {if (true) return startExpression;}
 586  
     }
 587  
     throw new Error("Missing return statement in function");
 588  
   }
 589  
 
 590  
   final public Expression ConditionalExpression() throws ParseException {
 591  
  Expression condition, trueBranch, falseBranch;
 592  0
     condition = OrExpression();
 593  0
     jj_consume_token(COND);
 594  0
     trueBranch = Expression();
 595  0
     jj_consume_token(COLON);
 596  0
     falseBranch = Expression();
 597  0
   {if (true) return new ConditionalExpression(condition, trueBranch, falseBranch);}
 598  
     throw new Error("Missing return statement in function");
 599  
   }
 600  
 
 601  
   final public Expression UnaryExpression() throws ParseException {
 602  
   Expression expression;
 603  11
   UnaryOperator singleOperator = null;
 604  
   UnaryOperator operator;
 605  11
   List operators = null;
 606  
     label_8:
 607  
     while (true) {
 608  11
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 609  
       case MINUS:
 610  
       case NOT1:
 611  
       case NOT2:
 612  
       case EMPTY:
 613  
         ;
 614  0
         break;
 615  
       default:
 616  11
         jj_la1[24] = jj_gen;
 617  11
         break label_8;
 618  
       }
 619  0
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 620  
       case NOT1:
 621  
       case NOT2:
 622  0
         switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 623  
         case NOT1:
 624  0
           jj_consume_token(NOT1);
 625  0
           break;
 626  
         case NOT2:
 627  0
           jj_consume_token(NOT2);
 628  0
           break;
 629  
         default:
 630  0
           jj_la1[25] = jj_gen;
 631  0
           jj_consume_token(-1);
 632  0
           throw new ParseException();
 633  
         }
 634  0
                         operator = NotOperator.SINGLETON;
 635  0
         break;
 636  
       case MINUS:
 637  0
         jj_consume_token(MINUS);
 638  0
                 operator = UnaryMinusOperator.SINGLETON;
 639  0
         break;
 640  
       case EMPTY:
 641  0
         jj_consume_token(EMPTY);
 642  0
                 operator = EmptyOperator.SINGLETON;
 643  0
         break;
 644  
       default:
 645  0
         jj_la1[26] = jj_gen;
 646  0
         jj_consume_token(-1);
 647  0
         throw new ParseException();
 648  
       }
 649  0
      if (singleOperator == null) {
 650  0
       singleOperator = operator;
 651  
      }
 652  0
      else if (operators == null) {
 653  0
       operators = new ArrayList ();
 654  0
       operators.add (singleOperator);
 655  0
       operators.add (operator);
 656  
      }
 657  
      else {
 658  0
       operators.add (operator);
 659  
      }
 660  
     }
 661  11
     expression = Value();
 662  11
     if (operators != null) {
 663  0
       {if (true) return new UnaryOperatorExpression (null, operators, expression);}
 664  
     }
 665  11
     else if (singleOperator != null) {
 666  0
       {if (true) return new UnaryOperatorExpression (singleOperator, null, expression);}
 667  
     }
 668  
     else {
 669  11
       {if (true) return expression;}
 670  
     }
 671  
     throw new Error("Missing return statement in function");
 672  
   }
 673  
 
 674  
   final public Expression Value() throws ParseException {
 675  
   Expression prefix;
 676  
   ValueSuffix suffix;
 677  11
   List suffixes = null;
 678  11
     prefix = ValuePrefix();
 679  
     label_9:
 680  
     while (true) {
 681  11
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 682  
       case DOT:
 683  
       case LBRACKET:
 684  
         ;
 685  0
         break;
 686  
       default:
 687  11
         jj_la1[27] = jj_gen;
 688  11
         break label_9;
 689  
       }
 690  0
       suffix = ValueSuffix();
 691  0
         if (suffixes == null) {
 692  0
           suffixes = new ArrayList ();
 693  
         }
 694  0
         suffixes.add (suffix);
 695  
     }
 696  11
     if (suffixes == null) {
 697  11
       {if (true) return prefix;}
 698  
     }
 699  
     else {
 700  0
       {if (true) return new ComplexValue (prefix, suffixes);}
 701  
     }
 702  
     throw new Error("Missing return statement in function");
 703  
   }
 704  
 
 705  
 /**
 706  
  * This is an element that can start a value
 707  
  **/
 708  
   final public Expression ValuePrefix() throws ParseException {
 709  
   Expression ret;
 710  11
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 711  
     case INTEGER_LITERAL:
 712  
     case FLOATING_POINT_LITERAL:
 713  
     case STRING_LITERAL:
 714  
     case TRUE:
 715  
     case FALSE:
 716  
     case NULL:
 717  8
       ret = Literal();
 718  8
       break;
 719  
     case LPAREN:
 720  0
       jj_consume_token(LPAREN);
 721  0
       ret = Expression();
 722  0
       jj_consume_token(RPAREN);
 723  0
       break;
 724  
     default:
 725  3
       jj_la1[28] = jj_gen;
 726  3
       if (jj_2_2(2147483647)) {
 727  3
         ret = FunctionInvocation();
 728  
       } else {
 729  0
         switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 730  
         case IDENTIFIER:
 731  0
           ret = NamedValue();
 732  0
           break;
 733  
         default:
 734  0
           jj_la1[29] = jj_gen;
 735  0
           jj_consume_token(-1);
 736  0
           throw new ParseException();
 737  
         }
 738  
       }
 739  
     }
 740  11
       {if (true) return ret;}
 741  
     throw new Error("Missing return statement in function");
 742  
   }
 743  
 
 744  
   final public NamedValue NamedValue() throws ParseException {
 745  
   Token t;
 746  0
     t = jj_consume_token(IDENTIFIER);
 747  0
                      {if (true) return new NamedValue (t.image);}
 748  
     throw new Error("Missing return statement in function");
 749  
   }
 750  
 
 751  
   final public FunctionInvocation FunctionInvocation() throws ParseException {
 752  
   String qualifiedName;
 753  3
   List argumentList = new ArrayList();
 754  
   Expression exp;
 755  3
     qualifiedName = QualifiedName();
 756  3
     jj_consume_token(LPAREN);
 757  3
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 758  
     case INTEGER_LITERAL:
 759  
     case FLOATING_POINT_LITERAL:
 760  
     case STRING_LITERAL:
 761  
     case TRUE:
 762  
     case FALSE:
 763  
     case NULL:
 764  
     case LPAREN:
 765  
     case MINUS:
 766  
     case NOT1:
 767  
     case NOT2:
 768  
     case EMPTY:
 769  
     case IDENTIFIER:
 770  1
       exp = Expression();
 771  1
           argumentList.add(exp);
 772  
       label_10:
 773  
       while (true) {
 774  1
         switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 775  
         case COMMA:
 776  
           ;
 777  0
           break;
 778  
         default:
 779  1
           jj_la1[30] = jj_gen;
 780  1
           break label_10;
 781  
         }
 782  0
         jj_consume_token(COMMA);
 783  0
         exp = Expression();
 784  0
           argumentList.add(exp);
 785  
       }
 786  
       break;
 787  
     default:
 788  2
       jj_la1[31] = jj_gen;
 789  
       ;
 790  
     }
 791  3
     jj_consume_token(RPAREN);
 792  3
     {if (true) return new FunctionInvocation(qualifiedName, argumentList);}
 793  
     throw new Error("Missing return statement in function");
 794  
   }
 795  
 
 796  
   final public ValueSuffix ValueSuffix() throws ParseException {
 797  
   ValueSuffix suffix;
 798  0
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 799  
     case DOT:
 800  0
       suffix = PropertySuffix();
 801  0
       break;
 802  
     case LBRACKET:
 803  0
       suffix = ArraySuffix();
 804  0
       break;
 805  
     default:
 806  0
       jj_la1[32] = jj_gen;
 807  0
       jj_consume_token(-1);
 808  0
       throw new ParseException();
 809  
     }
 810  0
       {if (true) return suffix;}
 811  
     throw new Error("Missing return statement in function");
 812  
   }
 813  
 
 814  
   final public PropertySuffix PropertySuffix() throws ParseException {
 815  
   Token t;
 816  
   String property;
 817  0
     jj_consume_token(DOT);
 818  0
     property = Identifier();
 819  0
       {if (true) return new PropertySuffix (property);}
 820  
     throw new Error("Missing return statement in function");
 821  
   }
 822  
 
 823  
   final public ArraySuffix ArraySuffix() throws ParseException {
 824  
   Expression index;
 825  0
     jj_consume_token(LBRACKET);
 826  0
     index = Expression();
 827  0
     jj_consume_token(RBRACKET);
 828  0
      {if (true) return new ArraySuffix (index);}
 829  
     throw new Error("Missing return statement in function");
 830  
   }
 831  
 
 832  
   final public Literal Literal() throws ParseException {
 833  
   Literal ret;
 834  8
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 835  
     case TRUE:
 836  
     case FALSE:
 837  1
       ret = BooleanLiteral();
 838  1
       break;
 839  
     case INTEGER_LITERAL:
 840  4
       ret = IntegerLiteral();
 841  4
       break;
 842  
     case FLOATING_POINT_LITERAL:
 843  0
       ret = FloatingPointLiteral();
 844  0
       break;
 845  
     case STRING_LITERAL:
 846  3
       ret = StringLiteral();
 847  3
       break;
 848  
     case NULL:
 849  0
       ret = NullLiteral();
 850  0
       break;
 851  
     default:
 852  0
       jj_la1[33] = jj_gen;
 853  0
       jj_consume_token(-1);
 854  0
       throw new ParseException();
 855  
     }
 856  8
       {if (true) return ret;}
 857  
     throw new Error("Missing return statement in function");
 858  
   }
 859  
 
 860  
   final public BooleanLiteral BooleanLiteral() throws ParseException {
 861  1
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 862  
     case TRUE:
 863  1
       jj_consume_token(TRUE);
 864  1
            {if (true) return BooleanLiteral.TRUE;}
 865  
       break;
 866  
     case FALSE:
 867  0
       jj_consume_token(FALSE);
 868  0
               {if (true) return BooleanLiteral.FALSE;}
 869  
       break;
 870  
     default:
 871  0
       jj_la1[34] = jj_gen;
 872  0
       jj_consume_token(-1);
 873  0
       throw new ParseException();
 874  
     }
 875  
     throw new Error("Missing return statement in function");
 876  
   }
 877  
 
 878  
   final public StringLiteral StringLiteral() throws ParseException {
 879  
   Token t;
 880  3
     t = jj_consume_token(STRING_LITERAL);
 881  3
     {if (true) return StringLiteral.fromToken (t.image);}
 882  
     throw new Error("Missing return statement in function");
 883  
   }
 884  
 
 885  
   final public IntegerLiteral IntegerLiteral() throws ParseException {
 886  
   Token t;
 887  4
     t = jj_consume_token(INTEGER_LITERAL);
 888  4
     {if (true) return new IntegerLiteral (t.image);}
 889  
     throw new Error("Missing return statement in function");
 890  
   }
 891  
 
 892  
   final public FloatingPointLiteral FloatingPointLiteral() throws ParseException {
 893  
   Token t;
 894  0
     t = jj_consume_token(FLOATING_POINT_LITERAL);
 895  0
     {if (true) return new FloatingPointLiteral (t.image);}
 896  
     throw new Error("Missing return statement in function");
 897  
   }
 898  
 
 899  
   final public NullLiteral NullLiteral() throws ParseException {
 900  0
     jj_consume_token(NULL);
 901  0
       {if (true) return NullLiteral.SINGLETON;}
 902  
     throw new Error("Missing return statement in function");
 903  
   }
 904  
 
 905  
   final public String Identifier() throws ParseException {
 906  
   Token t;
 907  3
     t = jj_consume_token(IDENTIFIER);
 908  3
       {if (true) return t.image;}
 909  
     throw new Error("Missing return statement in function");
 910  
   }
 911  
 
 912  
   final public String QualifiedName() throws ParseException {
 913  3
   String prefix = null, localPart = null;
 914  3
     if (jj_2_3(2147483647)) {
 915  0
       prefix = Identifier();
 916  0
       jj_consume_token(COLON);
 917  
     } else {
 918  
       ;
 919  
     }
 920  3
     localPart = Identifier();
 921  3
     if (prefix == null)
 922  3
       {if (true) return localPart;}
 923  
     else
 924  0
      {if (true) return prefix + ":" + localPart;}
 925  
     throw new Error("Missing return statement in function");
 926  
   }
 927  
 
 928  
   final private boolean jj_2_1(int xla) {
 929  9
     jj_la = xla; jj_lastpos = jj_scanpos = token;
 930  9
     boolean retval = !jj_3_1();
 931  9
     jj_save(0, xla);
 932  9
     return retval;
 933  
   }
 934  
 
 935  
   final private boolean jj_2_2(int xla) {
 936  3
     jj_la = xla; jj_lastpos = jj_scanpos = token;
 937  3
     boolean retval = !jj_3_2();
 938  3
     jj_save(1, xla);
 939  3
     return retval;
 940  
   }
 941  
 
 942  
   final private boolean jj_2_3(int xla) {
 943  3
     jj_la = xla; jj_lastpos = jj_scanpos = token;
 944  3
     boolean retval = !jj_3_3();
 945  3
     jj_save(2, xla);
 946  3
     return retval;
 947  
   }
 948  
 
 949  
   final private boolean jj_3R_42() {
 950  11
     if (jj_scan_token(NE2)) return true;
 951  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 952  0
     return false;
 953  
   }
 954  
 
 955  
   final private boolean jj_3R_91() {
 956  16
     if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
 957  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 958  0
     return false;
 959  
   }
 960  
 
 961  
   final private boolean jj_3R_40() {
 962  11
     if (jj_scan_token(EQ2)) return true;
 963  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 964  0
     return false;
 965  
   }
 966  
 
 967  
   final private boolean jj_3R_41() {
 968  11
     if (jj_scan_token(NE1)) return true;
 969  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 970  0
     return false;
 971  
   }
 972  
 
 973  
   final private boolean jj_3R_32() {
 974  
     Token xsp;
 975  11
     xsp = jj_scanpos;
 976  11
     if (jj_3R_41()) {
 977  11
     jj_scanpos = xsp;
 978  11
     if (jj_3R_42()) return true;
 979  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 980  0
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 981  0
     return false;
 982  
   }
 983  
 
 984  
   final private boolean jj_3R_90() {
 985  20
     if (jj_scan_token(INTEGER_LITERAL)) return true;
 986  4
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 987  4
     return false;
 988  
   }
 989  
 
 990  
   final private boolean jj_3R_39() {
 991  11
     if (jj_scan_token(EQ1)) return true;
 992  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 993  0
     return false;
 994  
   }
 995  
 
 996  
   final private boolean jj_3R_31() {
 997  
     Token xsp;
 998  11
     xsp = jj_scanpos;
 999  11
     if (jj_3R_39()) {
 1000  11
     jj_scanpos = xsp;
 1001  11
     if (jj_3R_40()) return true;
 1002  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1003  0
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1004  0
     return false;
 1005  
   }
 1006  
 
 1007  
   final private boolean jj_3R_26() {
 1008  
     Token xsp;
 1009  11
     xsp = jj_scanpos;
 1010  11
     if (jj_3R_31()) {
 1011  11
     jj_scanpos = xsp;
 1012  11
     if (jj_3R_32()) return true;
 1013  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1014  0
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1015  0
     if (jj_3R_25()) return true;
 1016  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1017  0
     return false;
 1018  
   }
 1019  
 
 1020  
   final private boolean jj_3R_70() {
 1021  21
     if (jj_scan_token(NOT2)) return true;
 1022  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1023  0
     return false;
 1024  
   }
 1025  
 
 1026  
   final private boolean jj_3R_21() {
 1027  19
     if (jj_3R_25()) return true;
 1028  11
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1029  
     Token xsp;
 1030  
     while (true) {
 1031  11
       xsp = jj_scanpos;
 1032  11
       if (jj_3R_26()) { jj_scanpos = xsp; break; }
 1033  0
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1034  
     }
 1035  11
     return false;
 1036  
   }
 1037  
 
 1038  
   final private boolean jj_3R_92() {
 1039  16
     if (jj_scan_token(STRING_LITERAL)) return true;
 1040  3
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1041  3
     return false;
 1042  
   }
 1043  
 
 1044  
   final private boolean jj_3R_62() {
 1045  21
     if (jj_scan_token(EMPTY)) return true;
 1046  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1047  0
     return false;
 1048  
   }
 1049  
 
 1050  
   final private boolean jj_3R_61() {
 1051  21
     if (jj_scan_token(MINUS)) return true;
 1052  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1053  0
     return false;
 1054  
   }
 1055  
 
 1056  
   final private boolean jj_3R_69() {
 1057  21
     if (jj_scan_token(NOT1)) return true;
 1058  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1059  0
     return false;
 1060  
   }
 1061  
 
 1062  
   final private boolean jj_3R_60() {
 1063  
     Token xsp;
 1064  21
     xsp = jj_scanpos;
 1065  21
     if (jj_3R_69()) {
 1066  21
     jj_scanpos = xsp;
 1067  21
     if (jj_3R_70()) return true;
 1068  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1069  0
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1070  0
     return false;
 1071  
   }
 1072  
 
 1073  
   final private boolean jj_3R_55() {
 1074  
     Token xsp;
 1075  21
     xsp = jj_scanpos;
 1076  21
     if (jj_3R_60()) {
 1077  21
     jj_scanpos = xsp;
 1078  21
     if (jj_3R_61()) {
 1079  21
     jj_scanpos = xsp;
 1080  21
     if (jj_3R_62()) return true;
 1081  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1082  0
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1083  0
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1084  0
     return false;
 1085  
   }
 1086  
 
 1087  
   final private boolean jj_3R_96() {
 1088  20
     if (jj_scan_token(FALSE)) return true;
 1089  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1090  0
     return false;
 1091  
   }
 1092  
 
 1093  
   final private boolean jj_3R_43() {
 1094  
     Token xsp;
 1095  
     while (true) {
 1096  21
       xsp = jj_scanpos;
 1097  21
       if (jj_3R_55()) { jj_scanpos = xsp; break; }
 1098  0
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1099  
     }
 1100  21
     if (jj_3R_56()) return true;
 1101  13
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1102  13
     return false;
 1103  
   }
 1104  
 
 1105  
   final private boolean jj_3R_95() {
 1106  21
     if (jj_scan_token(TRUE)) return true;
 1107  1
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1108  1
     return false;
 1109  
   }
 1110  
 
 1111  
   final private boolean jj_3R_89() {
 1112  
     Token xsp;
 1113  21
     xsp = jj_scanpos;
 1114  21
     if (jj_3R_95()) {
 1115  20
     jj_scanpos = xsp;
 1116  20
     if (jj_3R_96()) return true;
 1117  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1118  1
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1119  1
     return false;
 1120  
   }
 1121  
 
 1122  
   final private boolean jj_3R_85() {
 1123  13
     if (jj_3R_93()) return true;
 1124  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1125  0
     return false;
 1126  
   }
 1127  
 
 1128  
   final private boolean jj_3R_84() {
 1129  16
     if (jj_3R_92()) return true;
 1130  3
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1131  3
     return false;
 1132  
   }
 1133  
 
 1134  
   final private boolean jj_3R_83() {
 1135  16
     if (jj_3R_91()) return true;
 1136  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1137  0
     return false;
 1138  
   }
 1139  
 
 1140  
   final private boolean jj_3R_82() {
 1141  20
     if (jj_3R_90()) return true;
 1142  4
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1143  4
     return false;
 1144  
   }
 1145  
 
 1146  
   final private boolean jj_3R_28() {
 1147  11
     if (jj_scan_token(AND2)) return true;
 1148  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1149  0
     return false;
 1150  
   }
 1151  
 
 1152  
   final private boolean jj_3R_81() {
 1153  21
     if (jj_3R_89()) return true;
 1154  1
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1155  1
     return false;
 1156  
   }
 1157  
 
 1158  
   final private boolean jj_3R_76() {
 1159  
     Token xsp;
 1160  21
     xsp = jj_scanpos;
 1161  21
     if (jj_3R_81()) {
 1162  20
     jj_scanpos = xsp;
 1163  20
     if (jj_3R_82()) {
 1164  16
     jj_scanpos = xsp;
 1165  16
     if (jj_3R_83()) {
 1166  16
     jj_scanpos = xsp;
 1167  16
     if (jj_3R_84()) {
 1168  13
     jj_scanpos = xsp;
 1169  13
     if (jj_3R_85()) return true;
 1170  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1171  3
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1172  0
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1173  4
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1174  1
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1175  8
     return false;
 1176  
   }
 1177  
 
 1178  
   final private boolean jj_3R_11() {
 1179  14
     if (jj_3R_14()) return true;
 1180  10
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1181  10
     if (jj_scan_token(COND)) return true;
 1182  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1183  0
     if (jj_3R_15()) return true;
 1184  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1185  0
     if (jj_scan_token(COLON)) return true;
 1186  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1187  0
     if (jj_3R_15()) return true;
 1188  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1189  0
     return false;
 1190  
   }
 1191  
 
 1192  
   final private boolean jj_3R_27() {
 1193  11
     if (jj_scan_token(AND1)) return true;
 1194  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1195  0
     return false;
 1196  
   }
 1197  
 
 1198  
   final private boolean jj_3R_22() {
 1199  
     Token xsp;
 1200  11
     xsp = jj_scanpos;
 1201  11
     if (jj_3R_27()) {
 1202  11
     jj_scanpos = xsp;
 1203  11
     if (jj_3R_28()) return true;
 1204  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1205  0
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1206  0
     if (jj_3R_21()) return true;
 1207  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1208  0
     return false;
 1209  
   }
 1210  
 
 1211  
   final private boolean jj_3R_17() {
 1212  19
     if (jj_3R_21()) return true;
 1213  11
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1214  
     Token xsp;
 1215  
     while (true) {
 1216  11
       xsp = jj_scanpos;
 1217  11
       if (jj_3R_22()) { jj_scanpos = xsp; break; }
 1218  0
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1219  
     }
 1220  11
     return false;
 1221  
   }
 1222  
 
 1223  
   final private boolean jj_3R_68() {
 1224  13
     if (jj_scan_token(MODULUS2)) return true;
 1225  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1226  0
     return false;
 1227  
   }
 1228  
 
 1229  
   final private boolean jj_3R_88() {
 1230  13
     if (jj_scan_token(LBRACKET)) return true;
 1231  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1232  0
     if (jj_3R_15()) return true;
 1233  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1234  0
     if (jj_scan_token(RBRACKET)) return true;
 1235  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1236  0
     return false;
 1237  
   }
 1238  
 
 1239  
   final private boolean jj_3R_66() {
 1240  13
     if (jj_scan_token(DIVIDE2)) return true;
 1241  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1242  0
     return false;
 1243  
   }
 1244  
 
 1245  
   final private boolean jj_3R_67() {
 1246  13
     if (jj_scan_token(MODULUS1)) return true;
 1247  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1248  0
     return false;
 1249  
   }
 1250  
 
 1251  
   final private boolean jj_3R_59() {
 1252  
     Token xsp;
 1253  13
     xsp = jj_scanpos;
 1254  13
     if (jj_3R_67()) {
 1255  13
     jj_scanpos = xsp;
 1256  13
     if (jj_3R_68()) return true;
 1257  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1258  0
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1259  0
     return false;
 1260  
   }
 1261  
 
 1262  
   final private boolean jj_3R_65() {
 1263  13
     if (jj_scan_token(DIVIDE1)) return true;
 1264  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1265  0
     return false;
 1266  
   }
 1267  
 
 1268  
   final private boolean jj_3R_87() {
 1269  13
     if (jj_scan_token(DOT)) return true;
 1270  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1271  0
     if (jj_3R_13()) return true;
 1272  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1273  0
     return false;
 1274  
   }
 1275  
 
 1276  
   final private boolean jj_3R_58() {
 1277  
     Token xsp;
 1278  13
     xsp = jj_scanpos;
 1279  13
     if (jj_3R_65()) {
 1280  13
     jj_scanpos = xsp;
 1281  13
     if (jj_3R_66()) return true;
 1282  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1283  0
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1284  0
     return false;
 1285  
   }
 1286  
 
 1287  
   final private boolean jj_3R_57() {
 1288  13
     if (jj_scan_token(MULTIPLY)) return true;
 1289  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1290  0
     return false;
 1291  
   }
 1292  
 
 1293  
   final private boolean jj_3R_44() {
 1294  
     Token xsp;
 1295  13
     xsp = jj_scanpos;
 1296  13
     if (jj_3R_57()) {
 1297  13
     jj_scanpos = xsp;
 1298  13
     if (jj_3R_58()) {
 1299  13
     jj_scanpos = xsp;
 1300  13
     if (jj_3R_59()) return true;
 1301  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1302  0
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1303  0
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1304  0
     if (jj_3R_43()) return true;
 1305  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1306  0
     return false;
 1307  
   }
 1308  
 
 1309  
   final private boolean jj_3R_24() {
 1310  11
     if (jj_scan_token(OR2)) return true;
 1311  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1312  0
     return false;
 1313  
   }
 1314  
 
 1315  
   final private boolean jj_3R_80() {
 1316  13
     if (jj_3R_88()) return true;
 1317  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1318  0
     return false;
 1319  
   }
 1320  
 
 1321  
   final private boolean jj_3R_33() {
 1322  21
     if (jj_3R_43()) return true;
 1323  13
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1324  
     Token xsp;
 1325  
     while (true) {
 1326  13
       xsp = jj_scanpos;
 1327  13
       if (jj_3R_44()) { jj_scanpos = xsp; break; }
 1328  0
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1329  
     }
 1330  13
     return false;
 1331  
   }
 1332  
 
 1333  
   final private boolean jj_3R_79() {
 1334  13
     if (jj_3R_87()) return true;
 1335  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1336  0
     return false;
 1337  
   }
 1338  
 
 1339  
   final private boolean jj_3R_75() {
 1340  
     Token xsp;
 1341  13
     xsp = jj_scanpos;
 1342  13
     if (jj_3R_79()) {
 1343  13
     jj_scanpos = xsp;
 1344  13
     if (jj_3R_80()) return true;
 1345  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1346  0
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1347  0
     return false;
 1348  
   }
 1349  
 
 1350  
   final private boolean jj_3R_23() {
 1351  11
     if (jj_scan_token(OR1)) return true;
 1352  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1353  0
     return false;
 1354  
   }
 1355  
 
 1356  
   final private boolean jj_3R_18() {
 1357  
     Token xsp;
 1358  11
     xsp = jj_scanpos;
 1359  11
     if (jj_3R_23()) {
 1360  11
     jj_scanpos = xsp;
 1361  11
     if (jj_3R_24()) return true;
 1362  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1363  0
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1364  0
     if (jj_3R_17()) return true;
 1365  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1366  0
     return false;
 1367  
   }
 1368  
 
 1369  
   final private boolean jj_3R_14() {
 1370  19
     if (jj_3R_17()) return true;
 1371  11
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1372  
     Token xsp;
 1373  
     while (true) {
 1374  11
       xsp = jj_scanpos;
 1375  11
       if (jj_3R_18()) { jj_scanpos = xsp; break; }
 1376  0
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1377  
     }
 1378  11
     return false;
 1379  
   }
 1380  
 
 1381  
   final private boolean jj_3R_94() {
 1382  1
     if (jj_scan_token(COMMA)) return true;
 1383  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1384  0
     if (jj_3R_15()) return true;
 1385  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1386  0
     return false;
 1387  
   }
 1388  
 
 1389  
   final private boolean jj_3_1() {
 1390  9
     if (jj_3R_11()) return true;
 1391  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1392  0
     return false;
 1393  
   }
 1394  
 
 1395  
   final private boolean jj_3R_86() {
 1396  5
     if (jj_3R_15()) return true;
 1397  1
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1398  
     Token xsp;
 1399  
     while (true) {
 1400  1
       xsp = jj_scanpos;
 1401  1
       if (jj_3R_94()) { jj_scanpos = xsp; break; }
 1402  0
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1403  
     }
 1404  1
     return false;
 1405  
   }
 1406  
 
 1407  
   final private boolean jj_3R_20() {
 1408  5
     if (jj_3R_14()) return true;
 1409  1
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1410  1
     return false;
 1411  
   }
 1412  
 
 1413  
   final private boolean jj_3R_19() {
 1414  5
     if (jj_3R_11()) return true;
 1415  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1416  0
     return false;
 1417  
   }
 1418  
 
 1419  
   final private boolean jj_3R_46() {
 1420  12
     if (jj_scan_token(MINUS)) return true;
 1421  1
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1422  1
     return false;
 1423  
   }
 1424  
 
 1425  
   final private boolean jj_3R_15() {
 1426  
     Token xsp;
 1427  5
     xsp = jj_scanpos;
 1428  5
     if (jj_3R_19()) {
 1429  5
     jj_scanpos = xsp;
 1430  5
     if (jj_3R_20()) return true;
 1431  1
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1432  0
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1433  1
     return false;
 1434  
   }
 1435  
 
 1436  
   final private boolean jj_3R_45() {
 1437  13
     if (jj_scan_token(PLUS)) return true;
 1438  1
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1439  1
     return false;
 1440  
   }
 1441  
 
 1442  
   final private boolean jj_3R_34() {
 1443  
     Token xsp;
 1444  13
     xsp = jj_scanpos;
 1445  13
     if (jj_3R_45()) {
 1446  12
     jj_scanpos = xsp;
 1447  12
     if (jj_3R_46()) return true;
 1448  1
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1449  1
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1450  2
     if (jj_3R_33()) return true;
 1451  2
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1452  2
     return false;
 1453  
   }
 1454  
 
 1455  
   final private boolean jj_3R_77() {
 1456  13
     if (jj_3R_12()) return true;
 1457  5
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1458  5
     if (jj_scan_token(LPAREN)) return true;
 1459  5
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1460  
     Token xsp;
 1461  5
     xsp = jj_scanpos;
 1462  5
     if (jj_3R_86()) jj_scanpos = xsp;
 1463  1
     else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1464  5
     if (jj_scan_token(RPAREN)) return true;
 1465  5
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1466  5
     return false;
 1467  
   }
 1468  
 
 1469  
   final private boolean jj_3R_29() {
 1470  19
     if (jj_3R_33()) return true;
 1471  11
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1472  
     Token xsp;
 1473  
     while (true) {
 1474  13
       xsp = jj_scanpos;
 1475  13
       if (jj_3R_34()) { jj_scanpos = xsp; break; }
 1476  2
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1477  
     }
 1478  11
     return false;
 1479  
   }
 1480  
 
 1481  
   final private boolean jj_3_2() {
 1482  3
     if (jj_3R_12()) return true;
 1483  3
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1484  3
     if (jj_scan_token(LPAREN)) return true;
 1485  3
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1486  3
     return false;
 1487  
   }
 1488  
 
 1489  
   final private boolean jj_3R_78() {
 1490  8
     if (jj_scan_token(IDENTIFIER)) return true;
 1491  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1492  0
     return false;
 1493  
   }
 1494  
 
 1495  
   final private boolean jj_3R_74() {
 1496  8
     if (jj_3R_78()) return true;
 1497  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1498  0
     return false;
 1499  
   }
 1500  
 
 1501  
   final private boolean jj_3R_73() {
 1502  13
     if (jj_3R_77()) return true;
 1503  5
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1504  5
     return false;
 1505  
   }
 1506  
 
 1507  
   final private boolean jj_3R_72() {
 1508  13
     if (jj_scan_token(LPAREN)) return true;
 1509  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1510  0
     if (jj_3R_15()) return true;
 1511  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1512  0
     if (jj_scan_token(RPAREN)) return true;
 1513  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1514  0
     return false;
 1515  
   }
 1516  
 
 1517  
   final private boolean jj_3R_71() {
 1518  21
     if (jj_3R_76()) return true;
 1519  8
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1520  8
     return false;
 1521  
   }
 1522  
 
 1523  
   final private boolean jj_3_3() {
 1524  3
     if (jj_3R_13()) return true;
 1525  3
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1526  3
     if (jj_scan_token(COLON)) return true;
 1527  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1528  0
     return false;
 1529  
   }
 1530  
 
 1531  
   final private boolean jj_3R_63() {
 1532  
     Token xsp;
 1533  21
     xsp = jj_scanpos;
 1534  21
     if (jj_3R_71()) {
 1535  13
     jj_scanpos = xsp;
 1536  13
     if (jj_3R_72()) {
 1537  13
     jj_scanpos = xsp;
 1538  13
     if (jj_3R_73()) {
 1539  8
     jj_scanpos = xsp;
 1540  8
     if (jj_3R_74()) return true;
 1541  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1542  5
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1543  0
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1544  8
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1545  13
     return false;
 1546  
   }
 1547  
 
 1548  
   final private boolean jj_3R_54() {
 1549  11
     if (jj_scan_token(LE2)) return true;
 1550  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1551  0
     return false;
 1552  
   }
 1553  
 
 1554  
   final private boolean jj_3R_52() {
 1555  11
     if (jj_scan_token(GE2)) return true;
 1556  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1557  0
     return false;
 1558  
   }
 1559  
 
 1560  
   final private boolean jj_3R_50() {
 1561  11
     if (jj_scan_token(GT2)) return true;
 1562  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1563  0
     return false;
 1564  
   }
 1565  
 
 1566  
   final private boolean jj_3R_48() {
 1567  11
     if (jj_scan_token(LT2)) return true;
 1568  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1569  0
     return false;
 1570  
   }
 1571  
 
 1572  
   final private boolean jj_3R_53() {
 1573  11
     if (jj_scan_token(LE1)) return true;
 1574  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1575  0
     return false;
 1576  
   }
 1577  
 
 1578  
   final private boolean jj_3R_16() {
 1579  16
     if (jj_3R_13()) return true;
 1580  8
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1581  8
     if (jj_scan_token(COLON)) return true;
 1582  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1583  0
     return false;
 1584  
   }
 1585  
 
 1586  
   final private boolean jj_3R_38() {
 1587  
     Token xsp;
 1588  11
     xsp = jj_scanpos;
 1589  11
     if (jj_3R_53()) {
 1590  11
     jj_scanpos = xsp;
 1591  11
     if (jj_3R_54()) return true;
 1592  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1593  0
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1594  0
     return false;
 1595  
   }
 1596  
 
 1597  
   final private boolean jj_3R_51() {
 1598  11
     if (jj_scan_token(GE1)) return true;
 1599  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1600  0
     return false;
 1601  
   }
 1602  
 
 1603  
   final private boolean jj_3R_37() {
 1604  
     Token xsp;
 1605  11
     xsp = jj_scanpos;
 1606  11
     if (jj_3R_51()) {
 1607  11
     jj_scanpos = xsp;
 1608  11
     if (jj_3R_52()) return true;
 1609  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1610  0
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1611  0
     return false;
 1612  
   }
 1613  
 
 1614  
   final private boolean jj_3R_49() {
 1615  11
     if (jj_scan_token(GT1)) return true;
 1616  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1617  0
     return false;
 1618  
   }
 1619  
 
 1620  
   final private boolean jj_3R_36() {
 1621  
     Token xsp;
 1622  11
     xsp = jj_scanpos;
 1623  11
     if (jj_3R_49()) {
 1624  11
     jj_scanpos = xsp;
 1625  11
     if (jj_3R_50()) return true;
 1626  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1627  0
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1628  0
     return false;
 1629  
   }
 1630  
 
 1631  
   final private boolean jj_3R_47() {
 1632  11
     if (jj_scan_token(LT1)) return true;
 1633  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1634  0
     return false;
 1635  
   }
 1636  
 
 1637  
   final private boolean jj_3R_35() {
 1638  
     Token xsp;
 1639  11
     xsp = jj_scanpos;
 1640  11
     if (jj_3R_47()) {
 1641  11
     jj_scanpos = xsp;
 1642  11
     if (jj_3R_48()) return true;
 1643  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1644  0
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1645  0
     return false;
 1646  
   }
 1647  
 
 1648  
   final private boolean jj_3R_12() {
 1649  
     Token xsp;
 1650  16
     xsp = jj_scanpos;
 1651  16
     if (jj_3R_16()) jj_scanpos = xsp;
 1652  0
     else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1653  16
     if (jj_3R_13()) return true;
 1654  8
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1655  8
     return false;
 1656  
   }
 1657  
 
 1658  
   final private boolean jj_3R_30() {
 1659  
     Token xsp;
 1660  11
     xsp = jj_scanpos;
 1661  11
     if (jj_3R_35()) {
 1662  11
     jj_scanpos = xsp;
 1663  11
     if (jj_3R_36()) {
 1664  11
     jj_scanpos = xsp;
 1665  11
     if (jj_3R_37()) {
 1666  11
     jj_scanpos = xsp;
 1667  11
     if (jj_3R_38()) return true;
 1668  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1669  0
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1670  0
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1671  0
     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1672  0
     if (jj_3R_29()) return true;
 1673  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1674  0
     return false;
 1675  
   }
 1676  
 
 1677  
   final private boolean jj_3R_25() {
 1678  19
     if (jj_3R_29()) return true;
 1679  11
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1680  
     Token xsp;
 1681  
     while (true) {
 1682  11
       xsp = jj_scanpos;
 1683  11
       if (jj_3R_30()) { jj_scanpos = xsp; break; }
 1684  0
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1685  
     }
 1686  11
     return false;
 1687  
   }
 1688  
 
 1689  
   final private boolean jj_3R_64() {
 1690  13
     if (jj_3R_75()) return true;
 1691  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1692  0
     return false;
 1693  
   }
 1694  
 
 1695  
   final private boolean jj_3R_13() {
 1696  35
     if (jj_scan_token(IDENTIFIER)) return true;
 1697  19
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1698  19
     return false;
 1699  
   }
 1700  
 
 1701  
   final private boolean jj_3R_56() {
 1702  21
     if (jj_3R_63()) return true;
 1703  13
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1704  
     Token xsp;
 1705  
     while (true) {
 1706  13
       xsp = jj_scanpos;
 1707  13
       if (jj_3R_64()) { jj_scanpos = xsp; break; }
 1708  0
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1709  
     }
 1710  13
     return false;
 1711  
   }
 1712  
 
 1713  
   final private boolean jj_3R_93() {
 1714  13
     if (jj_scan_token(NULL)) return true;
 1715  0
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
 1716  0
     return false;
 1717  
   }
 1718  
 
 1719  
   public ELParserTokenManager token_source;
 1720  
   SimpleCharStream jj_input_stream;
 1721  
   public Token token, jj_nt;
 1722  
   private int jj_ntk;
 1723  
   private Token jj_scanpos, jj_lastpos;
 1724  
   private int jj_la;
 1725  8
   public boolean lookingAhead = false;
 1726  
   private boolean jj_semLA;
 1727  
   private int jj_gen;
 1728  8
   final private int[] jj_la1 = new int[35];
 1729  8
   final private int[] jj_la1_0 = {0x6,0x6,0x6,0x20007580,0x0,0x0,0x0,0x0,0x18600000,0x600000,0x18000000,0x18600000,0x79e0000,0x180000,0x60000,0x6000000,0x1800000,0x79e0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x20007580,0x0,0x80000000,0x20007580,0x10000,0x7580,0x3000,};
 1730  8
   final private int[] jj_la1_1 = {0x0,0x0,0x0,0x50c10,0xc000,0xc000,0x3000,0x3000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18,0x18,0x3e0,0xc0,0x300,0x3e0,0x10c10,0xc00,0x10c10,0x2,0x0,0x40000,0x0,0x50c10,0x2,0x0,0x0,};
 1731  8
   final private JJCalls[] jj_2_rtns = new JJCalls[3];
 1732  8
   private boolean jj_rescan = false;
 1733  8
   private int jj_gc = 0;
 1734  
 
 1735  0
   public ELParser(java.io.InputStream stream) {
 1736  0
     jj_input_stream = new SimpleCharStream(stream, 1, 1);
 1737  0
     token_source = new ELParserTokenManager(jj_input_stream);
 1738  0
     token = new Token();
 1739  0
     jj_ntk = -1;
 1740  0
     jj_gen = 0;
 1741  0
     for (int i = 0; i < 35; i++) jj_la1[i] = -1;
 1742  0
     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
 1743  0
   }
 1744  
 
 1745  
   public void ReInit(java.io.InputStream stream) {
 1746  0
     jj_input_stream.ReInit(stream, 1, 1);
 1747  0
     token_source.ReInit(jj_input_stream);
 1748  0
     token = new Token();
 1749  0
     jj_ntk = -1;
 1750  0
     jj_gen = 0;
 1751  0
     for (int i = 0; i < 35; i++) jj_la1[i] = -1;
 1752  0
     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
 1753  0
   }
 1754  
 
 1755  8
   public ELParser(java.io.Reader stream) {
 1756  8
     jj_input_stream = new SimpleCharStream(stream, 1, 1);
 1757  8
     token_source = new ELParserTokenManager(jj_input_stream);
 1758  8
     token = new Token();
 1759  8
     jj_ntk = -1;
 1760  8
     jj_gen = 0;
 1761  8
     for (int i = 0; i < 35; i++) jj_la1[i] = -1;
 1762  8
     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
 1763  8
   }
 1764  
 
 1765  
   public void ReInit(java.io.Reader stream) {
 1766  0
     jj_input_stream.ReInit(stream, 1, 1);
 1767  0
     token_source.ReInit(jj_input_stream);
 1768  0
     token = new Token();
 1769  0
     jj_ntk = -1;
 1770  0
     jj_gen = 0;
 1771  0
     for (int i = 0; i < 35; i++) jj_la1[i] = -1;
 1772  0
     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
 1773  0
   }
 1774  
 
 1775  0
   public ELParser(ELParserTokenManager tm) {
 1776  0
     token_source = tm;
 1777  0
     token = new Token();
 1778  0
     jj_ntk = -1;
 1779  0
     jj_gen = 0;
 1780  0
     for (int i = 0; i < 35; i++) jj_la1[i] = -1;
 1781  0
     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
 1782  0
   }
 1783  
 
 1784  
   public void ReInit(ELParserTokenManager tm) {
 1785  0
     token_source = tm;
 1786  0
     token = new Token();
 1787  0
     jj_ntk = -1;
 1788  0
     jj_gen = 0;
 1789  0
     for (int i = 0; i < 35; i++) jj_la1[i] = -1;
 1790  0
     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
 1791  0
   }
 1792  
 
 1793  
   final private Token jj_consume_token(int kind) throws ParseException {
 1794  
     Token oldToken;
 1795  35
     if ((oldToken = token).next != null) token = token.next;
 1796  0
     else token = token.next = token_source.getNextToken();
 1797  35
     jj_ntk = -1;
 1798  35
     if (token.kind == kind) {
 1799  35
       jj_gen++;
 1800  35
       if (++jj_gc > 100) {
 1801  0
         jj_gc = 0;
 1802  0
         for (int i = 0; i < jj_2_rtns.length; i++) {
 1803  0
           JJCalls c = jj_2_rtns[i];
 1804  0
           while (c != null) {
 1805  0
             if (c.gen < jj_gen) c.first = null;
 1806  0
             c = c.next;
 1807  
           }
 1808  
         }
 1809  
       }
 1810  35
       return token;
 1811  
     }
 1812  0
     token = oldToken;
 1813  0
     jj_kind = kind;
 1814  0
     throw generateParseException();
 1815  
   }
 1816  
 
 1817  
   final private boolean jj_scan_token(int kind) {
 1818  573
     if (jj_scanpos == jj_lastpos) {
 1819  43
       jj_la--;
 1820  43
       if (jj_scanpos.next == null) {
 1821  27
         jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
 1822  
       } else {
 1823  16
         jj_lastpos = jj_scanpos = jj_scanpos.next;
 1824  
       }
 1825  
     } else {
 1826  530
       jj_scanpos = jj_scanpos.next;
 1827  
     }
 1828  573
     if (jj_rescan) {
 1829  0
       int i = 0; Token tok = token;
 1830  0
       while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
 1831  0
       if (tok != null) jj_add_error_token(kind, i);
 1832  
     }
 1833  573
     return (jj_scanpos.kind != kind);
 1834  
   }
 1835  
 
 1836  
   final public Token getNextToken() {
 1837  0
     if (token.next != null) token = token.next;
 1838  0
     else token = token.next = token_source.getNextToken();
 1839  0
     jj_ntk = -1;
 1840  0
     jj_gen++;
 1841  0
     return token;
 1842  
   }
 1843  
 
 1844  
   final public Token getToken(int index) {
 1845  0
     Token t = lookingAhead ? jj_scanpos : token;
 1846  0
     for (int i = 0; i < index; i++) {
 1847  0
       if (t.next != null) t = t.next;
 1848  0
       else t = t.next = token_source.getNextToken();
 1849  
     }
 1850  0
     return t;
 1851  
   }
 1852  
 
 1853  
   final private int jj_ntk() {
 1854  40
     if ((jj_nt=token.next) == null)
 1855  16
       return (jj_ntk = (token.next=token_source.getNextToken()).kind);
 1856  
     else
 1857  24
       return (jj_ntk = jj_nt.kind);
 1858  
   }
 1859  
 
 1860  8
   private java.util.Vector jj_expentries = new java.util.Vector();
 1861  
   private int[] jj_expentry;
 1862  8
   private int jj_kind = -1;
 1863  8
   private int[] jj_lasttokens = new int[100];
 1864  
   private int jj_endpos;
 1865  
 
 1866  
   private void jj_add_error_token(int kind, int pos) {
 1867  0
     if (pos >= 100) return;
 1868  0
     if (pos == jj_endpos + 1) {
 1869  0
       jj_lasttokens[jj_endpos++] = kind;
 1870  0
     } else if (jj_endpos != 0) {
 1871  0
       jj_expentry = new int[jj_endpos];
 1872  0
       for (int i = 0; i < jj_endpos; i++) {
 1873  0
         jj_expentry[i] = jj_lasttokens[i];
 1874  
       }
 1875  0
       boolean exists = false;
 1876  0
       for (java.util.Enumeration e = jj_expentries.elements(); e.hasMoreElements();) {
 1877  0
         int[] oldentry = (int[])(e.nextElement());
 1878  0
         if (oldentry.length == jj_expentry.length) {
 1879  0
           exists = true;
 1880  0
           for (int i = 0; i < jj_expentry.length; i++) {
 1881  0
             if (oldentry[i] != jj_expentry[i]) {
 1882  0
               exists = false;
 1883  0
               break;
 1884  
             }
 1885  
           }
 1886  0
           if (exists) break;
 1887  
         }
 1888  0
       }
 1889  0
       if (!exists) jj_expentries.addElement(jj_expentry);
 1890  0
       if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
 1891  
     }
 1892  0
   }
 1893  
 
 1894  
   final public ParseException generateParseException() {
 1895  0
     jj_expentries.removeAllElements();
 1896  0
     boolean[] la1tokens = new boolean[55];
 1897  0
     for (int i = 0; i < 55; i++) {
 1898  0
       la1tokens[i] = false;
 1899  
     }
 1900  0
     if (jj_kind >= 0) {
 1901  0
       la1tokens[jj_kind] = true;
 1902  0
       jj_kind = -1;
 1903  
     }
 1904  0
     for (int i = 0; i < 35; i++) {
 1905  0
       if (jj_la1[i] == jj_gen) {
 1906  0
         for (int j = 0; j < 32; j++) {
 1907  0
           if ((jj_la1_0[i] & (1<<j)) != 0) {
 1908  0
             la1tokens[j] = true;
 1909  
           }
 1910  0
           if ((jj_la1_1[i] & (1<<j)) != 0) {
 1911  0
             la1tokens[32+j] = true;
 1912  
           }
 1913  
         }
 1914  
       }
 1915  
     }
 1916  0
     for (int i = 0; i < 55; i++) {
 1917  0
       if (la1tokens[i]) {
 1918  0
         jj_expentry = new int[1];
 1919  0
         jj_expentry[0] = i;
 1920  0
         jj_expentries.addElement(jj_expentry);
 1921  
       }
 1922  
     }
 1923  0
     jj_endpos = 0;
 1924  0
     jj_rescan_token();
 1925  0
     jj_add_error_token(0, 0);
 1926  0
     int[][] exptokseq = new int[jj_expentries.size()][];
 1927  0
     for (int i = 0, size = jj_expentries.size(); i < size; i++) {
 1928  0
       exptokseq[i] = (int[])jj_expentries.elementAt(i);
 1929  
     }
 1930  0
     return new ParseException(token, exptokseq, tokenImage);
 1931  
   }
 1932  
 
 1933  
   final public void enable_tracing() {
 1934  0
   }
 1935  
 
 1936  
   final public void disable_tracing() {
 1937  0
   }
 1938  
 
 1939  
   final private void jj_rescan_token() {
 1940  0
     jj_rescan = true;
 1941  0
     for (int i = 0; i < 3; i++) {
 1942  0
       JJCalls p = jj_2_rtns[i];
 1943  
       do {
 1944  0
         if (p.gen > jj_gen) {
 1945  0
           jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
 1946  0
           switch (i) {
 1947  0
             case 0: jj_3_1(); break;
 1948  0
             case 1: jj_3_2(); break;
 1949  0
             case 2: jj_3_3(); break;
 1950  
           }
 1951  
         }
 1952  0
         p = p.next;
 1953  0
       } while (p != null);
 1954  
     }
 1955  0
     jj_rescan = false;
 1956  0
   }
 1957  
 
 1958  
   final private void jj_save(int index, int xla) {
 1959  15
     JJCalls p = jj_2_rtns[index];
 1960  15
     while (p.gen > jj_gen) {
 1961  1
       if (p.next == null) { p = p.next = new JJCalls(); break; }
 1962  0
       p = p.next;
 1963  
     }
 1964  15
     p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
 1965  15
   }
 1966  
 
 1967  25
   static final class JJCalls {
 1968  
     int gen;
 1969  
     Token first;
 1970  
     int arg;
 1971  
     JJCalls next;
 1972  
   }
 1973  
 
 1974  
 }