Projects STRLCPY LoggerPlusPlus Commits 82cdfd28
🤬
Revision indexing in progress... (symbol navigation in revisions will be accurate after indexed)
  • ■ ■ ■ ■ ■ ■
    src/main/java/com/nccgroup/loggerplusplus/filter/parser/Filter.jj
    skipped 206 lines
    207 207   (left = Identifier() | {throw new ParseException("The left side of a comparison must be a field identifier.");})
    208 208   
    209 209   (
    210  - op = EqualityOperator() (LOOKAHEAD(3)
    211  - right = Date()
    212  - {
    213  - if(!Date.class.isAssignableFrom(((LogEntryField) left).getType())){
    214  - throw new ParseException(String.format("Value of type Date cannot be compared against field \"%s\" of type \"%s\"", left, ((LogEntryField)left).getType()));
     210 + op = EqualityOperator() {
     211 + if(((LogEntryField) left).getType().isAssignableFrom(Date.class)){
     212 + right = Date();
     213 + }else{
     214 + try{
     215 + left = Value();
     216 + }catch (Exception e){
     217 + throw new ParseException("Invalid right hand value for comparison \"" + op + "\"");
    215 218   }
    216 219   }
    217  - |
    218  - right = Value()
    219  - |
    220  - {throw new ParseException("Invalid right hand value for comparison \"" + op + "\"");}
    221  - )
    222 220   
    223  - {
    224 221   if(right instanceof Pattern && !String.class.isAssignableFrom(((LogEntryField) left).getType())){
    225  - throw new ParseException(String.format("Regex patterns can only be used on fields which can be converted to a string. Field \"%s\" of type \"%s\" cannot be converted.", left, ((LogEntryField) left).getType()));
     222 + throw new ParseException(String.format("Regex patterns can only be used on fields which can be converted to a string. Field \"%s\" of type \"%s\" cannot be converted.", left, ((LogEntryField) left).getType()));
    226 223   }
    227 224   }
    228  - 
    229 225   |
    230 226   op = NumericOperator()
    231 227   {
    skipped 355 lines
  • ■ ■ ■ ■ ■ ■
    src/main/java/com/nccgroup/loggerplusplus/filter/parser/Filter.jjt
    skipped 165 lines
    166 166   (left = Identifier() | {throw new ParseException("The left side of a comparison must be a field identifier.");})
    167 167   
    168 168   (
    169  - op = EqualityOperator() (LOOKAHEAD(3)
    170  - right = Date()
    171  - {
    172  - if(!Date.class.isAssignableFrom(((LogEntryField) left).getType())){
    173  - throw new ParseException(String.format("Value of type Date cannot be compared against field \"%s\" of type \"%s\"", left, ((LogEntryField)left).getType()));
     169 + op = EqualityOperator() {
     170 + if(((LogEntryField) left).getType().isAssignableFrom(Date.class)){
     171 + right = Date();
     172 + }else{
     173 + try{
     174 + left = Value();
     175 + }catch (Exception e){
     176 + throw new ParseException("Invalid right hand value for comparison \"" + op + "\"");
    174 177   }
    175 178   }
    176  - |
    177  - right = Value()
    178  - |
    179  - {throw new ParseException("Invalid right hand value for comparison \"" + op + "\"");}
    180  - )
    181 179   
    182  - {
    183 180   if(right instanceof Pattern && !String.class.isAssignableFrom(((LogEntryField) left).getType())){
    184  - throw new ParseException(String.format("Regex patterns can only be used on fields which can be converted to a string. Field \"%s\" of type \"%s\" cannot be converted.", left, ((LogEntryField) left).getType()));
     181 + throw new ParseException(String.format("Regex patterns can only be used on fields which can be converted to a string. Field \"%s\" of type \"%s\" cannot be converted.", left, ((LogEntryField) left).getType()));
    185 182   }
    186 183   }
    187  - 
    188 184   |
    189 185   op = NumericOperator()
    190 186   {
    skipped 313 lines
  • ■ ■ ■ ■ ■ ■
    src/main/java/com/nccgroup/loggerplusplus/filter/parser/FilterParser.java
    skipped 50 lines
    51 51   if (jj_2_1(2)) {
    52 52   op = ExpressionCompounding();
    53 53   } else {
     54 + ;
    54 55   }
    55 56  jjtree.closeNodeScope(jjtn000, true);
    56 57   jjtc000 = false;
    skipped 30 lines
    87 88   }
    88 89   default:
    89 90   jj_la1[0] = jj_gen;
     91 + ;
    90 92   }
    91 93   jj_consume_token(LPAREN);
    92 94   Expression(inverse);
    skipped 57 lines
    150 152   label_1:
    151 153   while (true) {
    152 154   if (jj_2_2(2)) {
     155 + ;
    153 156   } else {
    154 157   break label_1;
    155 158   }
    skipped 44 lines
    200 203   case EQ:
    201 204   case NEQ:{
    202 205   op = EqualityOperator();
    203  - if (jj_2_3(3)) {
    204  - right = Date();
    205  -if(!Date.class.isAssignableFrom(((LogEntryField) left).getType())){
    206  - {if (true) throw new ParseException(String.format("Value of type Date cannot be compared against field \"%s\" of type \"%s\"", left, ((LogEntryField)left).getType()));}
     206 +if(((LogEntryField) left).getType().isAssignableFrom(Date.class)){
     207 + right = Date();
     208 + }else{
     209 + try{
     210 + left = Value();
     211 + }catch (Exception e){
     212 + {if (true) throw new ParseException("Invalid right hand value for comparison \"" + op + "\"");}
    207 213   }
    208  - } else {
    209  - switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    210  - case BOOLEAN:
    211  - case NUMBER:
    212  - case REGEXLITERAL_IN_FORWARD_SLASHES:
    213  - case REGEX_IN_FORWARD_SLASHES:
    214  - case INVERSE:
    215  - case IDENTIFIER:
    216  - case OPEN_SINGLE_QUOTE_STRING:
    217  - case OPEN_DOUBLE_QUOTE_STRING:{
    218  - right = Value();
    219  - break;
    220 214   }
    221  - default:
    222  - jj_la1[7] = jj_gen;
    223  -{if (true) throw new ParseException("Invalid right hand value for comparison \"" + op + "\"");}
    224  - }
    225  - }
    226  -if(right instanceof Pattern && !String.class.isAssignableFrom(((LogEntryField) left).getType())){
    227  - {if (true) throw new ParseException(String.format("Regex patterns can only be used on fields which can be converted to a string. Field \"%s\" of type \"%s\" cannot be converted.", left, ((LogEntryField) left).getType()));}
     215 + 
     216 + if(right instanceof Pattern && !String.class.isAssignableFrom(((LogEntryField) left).getType())){
     217 + {if (true) throw new ParseException(String.format("Regex patterns can only be used on fields which can be converted to a string. Field \"%s\" of type \"%s\" cannot be converted.", left, ((LogEntryField) left).getType()));}
    228 218   }
    229 219   break;
    230 220   }
    skipped 26 lines
    257 247   break;
    258 248   }
    259 249   default:
    260  - jj_la1[8] = jj_gen;
     250 + jj_la1[7] = jj_gen;
    261 251  {if (true) throw new ParseException("Invalid right hand value for comparison \"" + op + "\"");}
    262 252   }
    263 253   break;
    skipped 15 lines
    279 269   break;
    280 270   }
    281 271   default:
    282  - jj_la1[9] = jj_gen;
     272 + jj_la1[8] = jj_gen;
    283 273  {if (true) throw new ParseException("The contains operator can only be used on string and numeric values and identifiers.");}
    284 274   }
    285 275   break;
    skipped 6 lines
    292 282   break;
    293 283   }
    294 284   default:
    295  - jj_la1[10] = jj_gen;
     285 + jj_la1[9] = jj_gen;
    296 286  {if (true) throw new ParseException("The in operator must be used on an array. E.g. \"Response.status IN [200, 302, 500]\"");}
    297 287   }
    298 288   break;
    skipped 12 lines
    311 301   break;
    312 302   }
    313 303   default:
    314  - jj_la1[11] = jj_gen;
     304 + jj_la1[10] = jj_gen;
    315 305  {if (true) throw new ParseException("The matches operator must have a pattern as its right hand value.");}
    316 306   }
    317 307   break;
    318 308   }
    319 309   default:
    320  - jj_la1[12] = jj_gen;
     310 + jj_la1[11] = jj_gen;
    321 311  if(!(left instanceof Boolean || (left instanceof LogEntryField && ((LogEntryField) left).getType().isAssignableFrom(Boolean.class)))){
    322 312   //If left isn't a boolean value or field with boolean type
    323 313   {if (true) throw new ParseException(left + " cannot be evaluated as a boolean.");}
    skipped 43 lines
    367 357  }
    368 358   
    369 359   final public Object Value() throws ParseException {Object v;
    370  - if (jj_2_4(2)) {
     360 + if (jj_2_3(2)) {
    371 361   v = Identifier();
    372 362   } else {
    373 363   switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    skipped 17 lines
    391 381   break;
    392 382   }
    393 383   default:
    394  - jj_la1[13] = jj_gen;
     384 + jj_la1[12] = jj_gen;
    395 385   jj_consume_token(-1);
    396 386   throw new ParseException();
    397 387   }
    skipped 16 lines
    414 404   break;
    415 405   }
    416 406   default:
    417  - jj_la1[14] = jj_gen;
     407 + jj_la1[13] = jj_gen;
    418 408   jj_consume_token(-1);
    419 409   throw new ParseException();
    420 410   }
    skipped 2 lines
    423 413   while (true) {
    424 414   switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    425 415   case ARRAY_SEPARATOR:{
    426  - break;
     416 + ;
     417 + break;
    427 418   }
    428 419   default:
    429  - jj_la1[15] = jj_gen;
     420 + jj_la1[14] = jj_gen;
    430 421   break label_2;
    431 422   }
    432 423   jj_consume_token(ARRAY_SEPARATOR);
    skipped 8 lines
    441 432   break;
    442 433   }
    443 434   default:
    444  - jj_la1[16] = jj_gen;
     435 + jj_la1[15] = jj_gen;
    445 436   jj_consume_token(-1);
    446 437   throw new ParseException();
    447 438   }
    skipped 54 lines
    502 493   break;
    503 494   }
    504 495   default:
    505  - jj_la1[17] = jj_gen;
     496 + jj_la1[16] = jj_gen;
    506 497   jj_consume_token(-1);
    507 498   throw new ParseException();
    508 499   }
    skipped 22 lines
    531 522   break;
    532 523   }
    533 524   default:
    534  - jj_la1[18] = jj_gen;
     525 + jj_la1[17] = jj_gen;
     526 + ;
    535 527   }
    536 528   switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    537 529   case CLOSE_SINGLE_QUOTE_STRING:{
    skipped 1 lines
    539 531   break;
    540 532   }
    541 533   default:
    542  - jj_la1[19] = jj_gen;
     534 + jj_la1[18] = jj_gen;
    543 535  {if (true) throw new ParseException("Missing closing quote for string.");}
    544 536   }
    545 537   break;
    skipped 6 lines
    552 544   break;
    553 545   }
    554 546   default:
    555  - jj_la1[20] = jj_gen;
     547 + jj_la1[19] = jj_gen;
     548 + ;
    556 549   }
    557 550   switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    558 551   case CLOSE_DOUBLE_QUOTE_STRING:{
    skipped 1 lines
    560 553   break;
    561 554   }
    562 555   default:
    563  - jj_la1[21] = jj_gen;
     556 + jj_la1[20] = jj_gen;
    564 557  {if (true) throw new ParseException("Missing closing quote for string.");}
    565 558   }
    566 559   break;
    567 560   }
    568 561   default:
    569  - jj_la1[22] = jj_gen;
     562 + jj_la1[21] = jj_gen;
    570 563   jj_consume_token(-1);
    571 564   throw new ParseException();
    572 565   }
    skipped 13 lines
    586 579   break;
    587 580   }
    588 581   default:
    589  - jj_la1[23] = jj_gen;
     582 + jj_la1[22] = jj_gen;
    590 583  {if (true) throw new ParseException("Missing closing quote for regex string.");}
    591 584   }
    592 585   break;
    skipped 7 lines
    600 593   break;
    601 594   }
    602 595   default:
    603  - jj_la1[24] = jj_gen;
     596 + jj_la1[23] = jj_gen;
    604 597  {if (true) throw new ParseException("Missing closing quote for regex string.");}
    605 598   }
    606 599   break;
    607 600   }
    608 601   default:
    609  - jj_la1[25] = jj_gen;
     602 + jj_la1[24] = jj_gen;
    610 603   jj_consume_token(-1);
    611 604   throw new ParseException();
    612 605   }
    skipped 12 lines
    625 618   break;
    626 619   }
    627 620   default:
    628  - jj_la1[26] = jj_gen;
     621 + jj_la1[25] = jj_gen;
    629 622   jj_consume_token(-1);
    630 623   throw new ParseException();
    631 624   }
    skipped 8 lines
    640 633   break;
    641 634   }
    642 635   default:
    643  - jj_la1[27] = jj_gen;
     636 + jj_la1[26] = jj_gen;
     637 + ;
    644 638   }
    645 639   t = jj_consume_token(BOOLEAN);
    646  -{if ("" != null) return (inverse != null ^ Boolean.parseBoolean(t.image));}
     640 +{if ("" != null) return (inverse != null ^ java.lang.Boolean.parseBoolean(t.image));}
    647 641   throw new Error("Missing return statement in function");
    648 642  }
    649 643   
    skipped 15 lines
    665 659   break;
    666 660   }
    667 661   default:
    668  - jj_la1[28] = jj_gen;
     662 + jj_la1[27] = jj_gen;
    669 663   jj_consume_token(-1);
    670 664   throw new ParseException();
    671 665   }
    skipped 23 lines
    695 689   break;
    696 690   }
    697 691   default:
    698  - jj_la1[29] = jj_gen;
     692 + jj_la1[28] = jj_gen;
    699 693   jj_consume_token(-1);
    700 694   throw new ParseException();
    701 695   }
    skipped 66 lines
    768 762   finally { jj_save(2, xla); }
    769 763   }
    770 764   
    771  - private boolean jj_2_4(int xla)
     765 + private boolean jj_3R_37()
    772 766   {
    773  - jj_la = xla; jj_lastpos = jj_scanpos = token;
    774  - try { return (!jj_3_4()); }
    775  - catch(LookaheadSuccess ls) { return true; }
    776  - finally { jj_save(3, xla); }
     767 + if (jj_scan_token(MATCHES)) return true;
     768 + return false;
    777 769   }
    778 770   
    779  - private boolean jj_3R_38()
     771 + private boolean jj_3R_35()
    780 772   {
    781  - return jj_scan_token(CONTAINS);
    782  - }
     773 + if (jj_scan_token(CONTAINS)) return true;
     774 + return false;
     775 + }
    783 776   
    784  - private boolean jj_3_4()
    785  - {
    786  - return jj_3R_9();
    787  - }
    788  - 
    789  - private boolean jj_3R_46()
    790  - {
    791  - return jj_scan_token(LEQ);
    792  - }
    793  - 
    794  - private boolean jj_3R_45()
     777 + private boolean jj_3_3()
    795 778   {
    796  - return jj_scan_token(GEQ);
    797  - }
     779 + if (jj_3R_8()) return true;
     780 + return false;
     781 + }
    798 782   
    799  - private boolean jj_3R_44()
     783 + private boolean jj_3R_43()
    800 784   {
    801  - return jj_scan_token(LT);
    802  - }
     785 + if (jj_scan_token(LEQ)) return true;
     786 + return false;
     787 + }
    803 788   
    804  - private boolean jj_3R_30()
     789 + private boolean jj_3R_27()
    805 790   {
    806  - return jj_3R_36();
    807  - }
     791 + if (jj_3R_33()) return true;
     792 + return false;
     793 + }
    808 794   
    809  - private boolean jj_3R_43()
     795 + private boolean jj_3R_42()
    810 796   {
    811  - return jj_scan_token(GT);
    812  - }
     797 + if (jj_scan_token(GEQ)) return true;
     798 + return false;
     799 + }
    813 800   
    814  - private boolean jj_3R_37()
     801 + private boolean jj_3R_11()
    815 802   {
    816  - Token xsp;
    817  - xsp = jj_scanpos;
    818  - if (jj_3R_43()) {
    819  - jj_scanpos = xsp;
    820  - if (jj_3R_44()) {
    821  - jj_scanpos = xsp;
    822  - if (jj_3R_45()) {
    823  - jj_scanpos = xsp;
    824  - return jj_3R_46();
    825  - }
    826  - }
    827  - }
     803 + if (jj_3R_14()) return true;
    828 804   return false;
    829 805   }
    830 806   
    831  - private boolean jj_3R_12()
     807 + private boolean jj_3R_41()
    832 808   {
    833  - return jj_3R_15();
    834  - }
     809 + if (jj_scan_token(LT)) return true;
     810 + return false;
     811 + }
    835 812   
    836 813   private boolean jj_3R_5()
    837 814   {
    838  - return jj_3R_14();
    839  - }
     815 + if (jj_3R_13()) return true;
     816 + return false;
     817 + }
    840 818   
    841  - private boolean jj_3R_42()
     819 + private boolean jj_3R_40()
    842 820   {
    843  - return jj_scan_token(NEQ);
    844  - }
     821 + if (jj_scan_token(GT)) return true;
     822 + return false;
     823 + }
    845 824   
    846  - private boolean jj_3R_41()
    847  - {
    848  - return jj_scan_token(EQ);
    849  - }
    850  - 
    851  - private boolean jj_3R_36()
     825 + private boolean jj_3R_34()
    852 826   {
    853 827   Token xsp;
    854 828   xsp = jj_scanpos;
     829 + if (jj_3R_40()) {
     830 + jj_scanpos = xsp;
    855 831   if (jj_3R_41()) {
    856 832   jj_scanpos = xsp;
    857  - return jj_3R_42();
     833 + if (jj_3R_42()) {
     834 + jj_scanpos = xsp;
     835 + if (jj_3R_43()) return true;
     836 + }
     837 + }
    858 838   }
    859 839   return false;
    860 840   }
    861 841   
    862  - private boolean jj_3R_28()
     842 + private boolean jj_3R_25()
    863 843   {
    864  - return jj_3R_9();
    865  - }
     844 + if (jj_3R_8()) return true;
     845 + return false;
     846 + }
    866 847   
    867  - private boolean jj_3R_27()
     848 + private boolean jj_3R_24()
    868 849   {
    869 850   Token xsp;
    870 851   xsp = jj_scanpos;
    871  - if (jj_3R_28()) {
     852 + if (jj_3R_25()) {
    872 853   jj_scanpos = xsp;
    873  - if (jj_3R_29()) return true;
     854 + if (jj_3R_26()) return true;
    874 855   }
    875 856   xsp = jj_scanpos;
    876  - if (jj_3R_30()) {
     857 + if (jj_3R_27()) {
    877 858   jj_scanpos = xsp;
    878  - if (jj_3R_31()) {
     859 + if (jj_3R_28()) {
    879 860   jj_scanpos = xsp;
    880  - if (jj_3R_32()) {
     861 + if (jj_3R_29()) {
    881 862   jj_scanpos = xsp;
    882  - if (jj_3R_33()) {
     863 + if (jj_3R_30()) {
    883 864   jj_scanpos = xsp;
    884  - if (jj_3R_34()) {
     865 + if (jj_3R_31()) {
    885 866   jj_scanpos = xsp;
    886  - return jj_3R_35();
     867 + if (jj_3R_32()) return true;
    887 868   }
    888 869   }
    889 870   }
    skipped 2 lines
    892 873   return false;
    893 874   }
    894 875   
    895  - private boolean jj_3R_19()
     876 + private boolean jj_3R_39()
    896 877   {
    897  - if (jj_scan_token(OPEN_DOUBLE_QUOTE_STRING)) return true;
    898  - if (jj_scan_token(DOUBLE_STRING_BODY)) return true;
    899  - return jj_scan_token(CLOSE_DOUBLE_QUOTE_STRING);
    900  - }
     878 + if (jj_scan_token(NEQ)) return true;
     879 + return false;
     880 + }
    901 881   
    902  - private boolean jj_3R_26()
     882 + private boolean jj_3R_38()
    903 883   {
    904  - return jj_scan_token(ALIAS_SYMBOL);
    905  - }
     884 + if (jj_scan_token(EQ)) return true;
     885 + return false;
     886 + }
    906 887   
    907  - private boolean jj_3R_18()
     888 + private boolean jj_3R_33()
    908 889   {
    909  - if (jj_scan_token(OPEN_SINGLE_QUOTE_STRING)) return true;
    910  - if (jj_scan_token(SINGLE_STRING_BODY)) return true;
    911  - return jj_scan_token(CLOSE_SINGLE_QUOTE_STRING);
    912  - }
     890 + Token xsp;
     891 + xsp = jj_scanpos;
     892 + if (jj_3R_38()) {
     893 + jj_scanpos = xsp;
     894 + if (jj_3R_39()) return true;
     895 + }
     896 + return false;
     897 + }
    913 898   
    914  - private boolean jj_3R_11()
     899 + private boolean jj_3R_16()
    915 900   {
    916  - return jj_3R_14();
    917  - }
     901 + if (jj_3R_18()) return true;
     902 + return false;
     903 + }
    918 904   
    919  - private boolean jj_3R_17()
     905 + private boolean jj_3R_10()
    920 906   {
    921  - return jj_3R_21();
    922  - }
     907 + if (jj_3R_13()) return true;
     908 + return false;
     909 + }
    923 910   
    924  - private boolean jj_3R_8()
     911 + private boolean jj_3R_23()
    925 912   {
    926  - Token xsp;
    927  - xsp = jj_scanpos;
    928  - if (jj_3R_18()) {
    929  - jj_scanpos = xsp;
    930  - return jj_3R_19();
    931  - }
     913 + if (jj_scan_token(ALIAS_SYMBOL)) return true;
    932 914   return false;
    933 915   }
    934 916   
    935 917   private boolean jj_3R_4()
    936 918   {
    937  - return jj_3R_13();
    938  - }
     919 + if (jj_3R_12()) return true;
     920 + return false;
     921 + }
    939 922   
    940 923   private boolean jj_3_2()
    941 924   {
    skipped 6 lines
    948 931   if (jj_3R_6()) return true;
    949 932   }
    950 933   }
    951  - return jj_3R_7();
    952  - }
     934 + if (jj_3R_7()) return true;
     935 + return false;
     936 + }
    953 937   
    954  - private boolean jj_3R_35()
     938 + private boolean jj_3R_9()
    955 939   {
     940 + if (jj_3R_12()) return true;
    956 941   return false;
    957 942   }
    958 943   
    959  - private boolean jj_3R_10()
     944 + private boolean jj_3R_21()
    960 945   {
    961  - return jj_3R_13();
    962  - }
    963  - 
    964  - private boolean jj_3R_24()
    965  - {
    966  - return jj_3R_27();
    967  - }
     946 + if (jj_3R_24()) return true;
     947 + return false;
     948 + }
    968 949   
    969 950   private boolean jj_3R_3()
    970 951   {
    971 952   Token xsp;
    972 953   xsp = jj_scanpos;
    973  - if (jj_3R_10()) {
     954 + if (jj_3R_9()) {
    974 955   jj_scanpos = xsp;
    975  - if (jj_3R_11()) {
     956 + if (jj_3R_10()) {
    976 957   jj_scanpos = xsp;
    977  - if (jj_3R_12()) return true;
     958 + if (jj_3R_11()) return true;
    978 959   }
    979 960   }
    980  - return jj_3R_7();
    981  - }
     961 + if (jj_3R_7()) return true;
     962 + return false;
     963 + }
    982 964   
    983  - private boolean jj_3R_34()
     965 + private boolean jj_3R_32()
    984 966   {
    985  - return jj_3R_40();
    986  - }
     967 + return false;
     968 + }
    987 969   
    988  - private boolean jj_3R_21()
     970 + private boolean jj_3R_18()
    989 971   {
    990 972   Token xsp;
    991 973   xsp = jj_scanpos;
    992  - if (jj_3R_23()) {
     974 + if (jj_3R_20()) {
    993 975   jj_scanpos = xsp;
    994  - return jj_3R_24();
     976 + if (jj_3R_21()) return true;
    995 977   }
    996 978   return false;
    997 979   }
    998 980   
    999  - private boolean jj_3R_23()
     981 + private boolean jj_3R_20()
    1000 982   {
    1001  - return jj_3R_26();
    1002  - }
     983 + if (jj_3R_23()) return true;
     984 + return false;
     985 + }
     986 + 
     987 + private boolean jj_3R_31()
     988 + {
     989 + if (jj_3R_37()) return true;
     990 + return false;
     991 + }
     992 + 
     993 + private boolean jj_3R_30()
     994 + {
     995 + if (jj_3R_36()) return true;
     996 + return false;
     997 + }
    1003 998   
    1004  - private boolean jj_3R_33()
     999 + private boolean jj_3R_15()
    1005 1000   {
    1006  - return jj_3R_39();
    1007  - }
     1001 + if (jj_3R_17()) return true;
     1002 + return false;
     1003 + }
    1008 1004   
    1009 1005   private boolean jj_3R_7()
    1010 1006   {
    1011 1007   Token xsp;
    1012 1008   xsp = jj_scanpos;
    1013  - if (jj_3R_16()) {
     1009 + if (jj_3R_15()) {
    1014 1010   jj_scanpos = xsp;
    1015  - return jj_3R_17();
     1011 + if (jj_3R_16()) return true;
    1016 1012   }
    1017 1013   return false;
    1018 1014   }
    1019 1015   
    1020  - private boolean jj_3R_16()
    1021  - {
    1022  - return jj_3R_20();
    1023  - }
    1024  - 
    1025 1016   private boolean jj_3_1()
    1026 1017   {
    1027  - return jj_3R_3();
    1028  - }
     1018 + if (jj_3R_3()) return true;
     1019 + return false;
     1020 + }
    1029 1021   
    1030  - private boolean jj_3R_22()
     1022 + private boolean jj_3R_19()
    1031 1023   {
    1032  - return jj_3R_25();
    1033  - }
     1024 + if (jj_3R_22()) return true;
     1025 + return false;
     1026 + }
    1034 1027   
    1035  - private boolean jj_3R_20()
     1028 + private boolean jj_3R_17()
    1036 1029   {
    1037 1030   Token xsp;
    1038 1031   xsp = jj_scanpos;
    1039  - if (jj_3R_22()) jj_scanpos = xsp;
    1040  - return jj_scan_token(LPAREN);
    1041  - }
     1032 + if (jj_3R_19()) jj_scanpos = xsp;
     1033 + if (jj_scan_token(LPAREN)) return true;
     1034 + return false;
     1035 + }
    1042 1036   
    1043  - private boolean jj_3R_32()
     1037 + private boolean jj_3R_29()
    1044 1038   {
    1045  - return jj_3R_38();
    1046  - }
     1039 + if (jj_3R_35()) return true;
     1040 + return false;
     1041 + }
    1047 1042   
    1048  - private boolean jj_3R_9()
     1043 + private boolean jj_3R_8()
    1049 1044   {
    1050 1045   if (jj_scan_token(IDENTIFIER)) return true;
    1051  - return jj_scan_token(DOT);
    1052  - }
    1053  - 
    1054  - private boolean jj_3R_15()
    1055  - {
    1056  - return jj_scan_token(XOR);
    1057  - }
     1046 + if (jj_scan_token(DOT)) return true;
     1047 + return false;
     1048 + }
    1058 1049   
    1059 1050   private boolean jj_3R_14()
    1060 1051   {
    1061  - return jj_scan_token(OR);
    1062  - }
     1052 + if (jj_scan_token(XOR)) return true;
     1053 + return false;
     1054 + }
    1063 1055   
    1064 1056   private boolean jj_3R_13()
    1065 1057   {
    1066  - return jj_scan_token(AND);
    1067  - }
     1058 + if (jj_scan_token(OR)) return true;
     1059 + return false;
     1060 + }
    1068 1061   
    1069  - private boolean jj_3R_25()
     1062 + private boolean jj_3R_12()
    1070 1063   {
    1071  - return jj_scan_token(INVERSE);
    1072  - }
     1064 + if (jj_scan_token(AND)) return true;
     1065 + return false;
     1066 + }
    1073 1067   
    1074  - private boolean jj_3_3()
     1068 + private boolean jj_3R_22()
    1075 1069   {
    1076  - return jj_3R_8();
    1077  - }
     1070 + if (jj_scan_token(INVERSE)) return true;
     1071 + return false;
     1072 + }
    1078 1073   
    1079  - private boolean jj_3R_39()
     1074 + private boolean jj_3R_36()
    1080 1075   {
    1081  - return jj_scan_token(IN);
    1082  - }
     1076 + if (jj_scan_token(IN)) return true;
     1077 + return false;
     1078 + }
    1083 1079   
    1084  - private boolean jj_3R_31()
    1085  - {
    1086  - return jj_3R_37();
    1087  - }
    1088  - 
    1089  - private boolean jj_3R_29()
     1080 + private boolean jj_3R_26()
    1090 1081   {
    1091 1082   return false;
    1092 1083   }
    1093 1084   
    1094  - private boolean jj_3R_40()
     1085 + private boolean jj_3R_28()
    1095 1086   {
    1096  - return jj_scan_token(MATCHES);
    1097  - }
     1087 + if (jj_3R_34()) return true;
     1088 + return false;
     1089 + }
    1098 1090   
    1099 1091   private boolean jj_3R_6()
    1100 1092   {
    1101  - return jj_3R_15();
    1102  - }
     1093 + if (jj_3R_14()) return true;
     1094 + return false;
     1095 + }
    1103 1096   
    1104 1097   /** Generated Token Manager. */
    1105 1098   public FilterParserTokenManager token_source;
    skipped 6 lines
    1112 1105   private Token jj_scanpos, jj_lastpos;
    1113 1106   private int jj_la;
    1114 1107   private int jj_gen;
    1115  - final private int[] jj_la1 = new int[30];
     1108 + final private int[] jj_la1 = new int[29];
    1116 1109   static private int[] jj_la1_0;
    1117 1110   static private int[] jj_la1_1;
    1118 1111   static {
    skipped 1 lines
    1120 1113   jj_la1_init_1();
    1121 1114   }
    1122 1115   private static void jj_la1_init_0() {
    1123  - jj_la1_0 = new int[] {0x200000,0x100000,0x280000,0x8000000,0x700,0x700,0x800000,0x30a36000,0x30804000,0x30804000,0x1000000,0x30030000,0x418fc,0x30236000,0x30004000,0x4000000,0x30004000,0x30000000,0x40000000,0x80000000,0x0,0x0,0x30000000,0x80000000,0x0,0x30000000,0x30000,0x200000,0xc,0xf0,};
     1116 + jj_la1_0 = new int[] {0x200000,0x100000,0x280000,0x8000000,0x700,0x700,0x800000,0x30804000,0x30804000,0x1000000,0x30030000,0x418fc,0x30236000,0x30004000,0x4000000,0x30004000,0x30000000,0x40000000,0x80000000,0x0,0x0,0x30000000,0x80000000,0x0,0x30000000,0x30000,0x200000,0xc,0xf0,};
    1124 1117   }
    1125 1118   private static void jj_la1_init_1() {
    1126  - jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x2,0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x0,};
     1119 + jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x2,0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x0,};
    1127 1120   }
    1128  - final private JJCalls[] jj_2_rtns = new JJCalls[4];
     1121 + final private JJCalls[] jj_2_rtns = new JJCalls[3];
    1129 1122   private boolean jj_rescan = false;
    1130 1123   private int jj_gc = 0;
    1131 1124   
    skipped 8 lines
    1140 1133   token = new Token();
    1141 1134   jj_ntk = -1;
    1142 1135   jj_gen = 0;
    1143  - for (int i = 0; i < 30; i++) jj_la1[i] = -1;
     1136 + for (int i = 0; i < 29; i++) jj_la1[i] = -1;
    1144 1137   for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
    1145 1138   }
    1146 1139   
    skipped 9 lines
    1156 1149   jj_ntk = -1;
    1157 1150   jjtree.reset();
    1158 1151   jj_gen = 0;
    1159  - for (int i = 0; i < 30; i++) jj_la1[i] = -1;
     1152 + for (int i = 0; i < 29; i++) jj_la1[i] = -1;
    1160 1153   for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
    1161 1154   }
    1162 1155   
    skipped 4 lines
    1167 1160   token = new Token();
    1168 1161   jj_ntk = -1;
    1169 1162   jj_gen = 0;
    1170  - for (int i = 0; i < 30; i++) jj_la1[i] = -1;
     1163 + for (int i = 0; i < 29; i++) jj_la1[i] = -1;
    1171 1164   for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
    1172 1165   }
    1173 1166   
    skipped 13 lines
    1187 1180   jj_ntk = -1;
    1188 1181   jjtree.reset();
    1189 1182   jj_gen = 0;
    1190  - for (int i = 0; i < 30; i++) jj_la1[i] = -1;
     1183 + for (int i = 0; i < 29; i++) jj_la1[i] = -1;
    1191 1184   for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
    1192 1185   }
    1193 1186   
    skipped 3 lines
    1197 1190   token = new Token();
    1198 1191   jj_ntk = -1;
    1199 1192   jj_gen = 0;
    1200  - for (int i = 0; i < 30; i++) jj_la1[i] = -1;
     1193 + for (int i = 0; i < 29; i++) jj_la1[i] = -1;
    1201 1194   for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
    1202 1195   }
    1203 1196   
    skipped 4 lines
    1208 1201   jj_ntk = -1;
    1209 1202   jjtree.reset();
    1210 1203   jj_gen = 0;
    1211  - for (int i = 0; i < 30; i++) jj_la1[i] = -1;
     1204 + for (int i = 0; i < 29; i++) jj_la1[i] = -1;
    1212 1205   for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
    1213 1206   }
    1214 1207   
    skipped 124 lines
    1339 1332   la1tokens[jj_kind] = true;
    1340 1333   jj_kind = -1;
    1341 1334   }
    1342  - for (int i = 0; i < 30; i++) {
     1335 + for (int i = 0; i < 29; i++) {
    1343 1336   if (jj_la1[i] == jj_gen) {
    1344 1337   for (int j = 0; j < 32; j++) {
    1345 1338   if ((jj_la1_0[i] & (1<<j)) != 0) {
    skipped 40 lines
    1386 1379   
    1387 1380   private void jj_rescan_token() {
    1388 1381   jj_rescan = true;
    1389  - for (int i = 0; i < 4; i++) {
     1382 + for (int i = 0; i < 3; i++) {
    1390 1383   try {
    1391 1384   JJCalls p = jj_2_rtns[i];
    1392 1385   
    skipped 4 lines
    1397 1390   case 0: jj_3_1(); break;
    1398 1391   case 1: jj_3_2(); break;
    1399 1392   case 2: jj_3_3(); break;
    1400  - case 3: jj_3_4(); break;
    1401 1393   }
    1402 1394   }
    1403 1395   p = p.next;
    skipped 28 lines
Please wait...
Page is in error, reload to recover