Exp2ParserTokenManager.java

Go to the documentation of this file.
00001 /* Generated By:JavaCC: Do not edit this line. Exp2ParserTokenManager.java */
00002 package plp.expressions2.parser;
00003 import plp.expressions2.*;
00004 import plp.expressions2.memory.*;
00005 import plp.expressions2.declaration.*;
00006 import plp.expressions2.expression.*;
00007 import java.util.List;
00008 import java.util.LinkedList;
00009 
00010 public class Exp2ParserTokenManager implements Exp2ParserConstants
00011 {
00012   public static  java.io.PrintStream debugStream = System.out;
00013   public static  void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
00014 private static final int jjStopStringLiteralDfa_0(int pos, long active0)
00015 {
00016    switch (pos)
00017    {
00018       case 0:
00019          if ((active0 & 0x10000000000000L) != 0L)
00020             return 19;
00021          if ((active0 & 0x3fe00L) != 0L)
00022          {
00023             jjmatchedKind = 23;
00024             return 13;
00025          }
00026          return -1;
00027       case 1:
00028          if ((active0 & 0x1fa00L) != 0L)
00029          {
00030             jjmatchedKind = 23;
00031             jjmatchedPos = 1;
00032             return 13;
00033          }
00034          if ((active0 & 0x20400L) != 0L)
00035             return 13;
00036          return -1;
00037       case 2:
00038          if ((active0 & 0x18a00L) != 0L)
00039             return 13;
00040          if ((active0 & 0x7000L) != 0L)
00041          {
00042             jjmatchedKind = 23;
00043             jjmatchedPos = 2;
00044             return 13;
00045          }
00046          return -1;
00047       case 3:
00048          if ((active0 & 0x5000L) != 0L)
00049          {
00050             jjmatchedKind = 23;
00051             jjmatchedPos = 3;
00052             return 13;
00053          }
00054          if ((active0 & 0x2000L) != 0L)
00055             return 13;
00056          return -1;
00057       case 4:
00058          if ((active0 & 0x1000L) != 0L)
00059          {
00060             jjmatchedKind = 23;
00061             jjmatchedPos = 4;
00062             return 13;
00063          }
00064          if ((active0 & 0x4000L) != 0L)
00065             return 13;
00066          return -1;
00067       default :
00068          return -1;
00069    }
00070 }
00071 private static final int jjStartNfa_0(int pos, long active0)
00072 {
00073    return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);
00074 }
00075 static private final int jjStopAtPos(int pos, int kind)
00076 {
00077    jjmatchedKind = kind;
00078    jjmatchedPos = pos;
00079    return pos + 1;
00080 }
00081 static private final int jjStartNfaWithStates_0(int pos, int kind, int state)
00082 {
00083    jjmatchedKind = kind;
00084    jjmatchedPos = pos;
00085    try { curChar = input_stream.readChar(); }
00086    catch(java.io.IOException e) { return pos + 1; }
00087    return jjMoveNfa_0(state, pos + 1);
00088 }
00089 static private final int jjMoveStringLiteralDfa0_0()
00090 {
00091    switch(curChar)
00092    {
00093       case 33:
00094          jjmatchedKind = 38;
00095          return jjMoveStringLiteralDfa1_0(0x200000000000L);
00096       case 37:
00097          return jjStopAtPos(0, 56);
00098       case 38:
00099          jjmatchedKind = 53;
00100          return jjMoveStringLiteralDfa1_0(0x800000000000L);
00101       case 40:
00102          return jjStopAtPos(0, 26);
00103       case 41:
00104          return jjStopAtPos(0, 27);
00105       case 42:
00106          return jjStopAtPos(0, 51);
00107       case 43:
00108          jjmatchedKind = 49;
00109          return jjMoveStringLiteralDfa1_0(0x1000000000000L);
00110       case 44:
00111          return jjStopAtPos(0, 33);
00112       case 45:
00113          return jjStopAtPos(0, 50);
00114       case 46:
00115          return jjStopAtPos(0, 34);
00116       case 47:
00117          return jjStartNfaWithStates_0(0, 52, 19);
00118       case 58:
00119          return jjStopAtPos(0, 41);
00120       case 59:
00121          return jjStopAtPos(0, 32);
00122       case 60:
00123          jjmatchedKind = 37;
00124          return jjMoveStringLiteralDfa1_0(0x80000000000L);
00125       case 61:
00126          jjmatchedKind = 35;
00127          return jjMoveStringLiteralDfa1_0(0x40000000000L);
00128       case 62:
00129          jjmatchedKind = 36;
00130          return jjMoveStringLiteralDfa1_0(0x100000000000L);
00131       case 63:
00132          return jjStopAtPos(0, 40);
00133       case 91:
00134          return jjStopAtPos(0, 30);
00135       case 93:
00136          return jjStopAtPos(0, 31);
00137       case 94:
00138          return jjStopAtPos(0, 55);
00139       case 97:
00140          return jjMoveStringLiteralDfa1_0(0x200L);
00141       case 102:
00142          return jjMoveStringLiteralDfa1_0(0x4000L);
00143       case 105:
00144          return jjMoveStringLiteralDfa1_0(0x20000L);
00145       case 108:
00146          return jjMoveStringLiteralDfa1_0(0x9000L);
00147       case 110:
00148          return jjMoveStringLiteralDfa1_0(0x800L);
00149       case 111:
00150          return jjMoveStringLiteralDfa1_0(0x400L);
00151       case 116:
00152          return jjMoveStringLiteralDfa1_0(0x2000L);
00153       case 118:
00154          return jjMoveStringLiteralDfa1_0(0x10000L);
00155       case 123:
00156          return jjStopAtPos(0, 28);
00157       case 124:
00158          jjmatchedKind = 54;
00159          return jjMoveStringLiteralDfa1_0(0x400000000000L);
00160       case 125:
00161          return jjStopAtPos(0, 29);
00162       case 126:
00163          return jjStopAtPos(0, 39);
00164       default :
00165          return jjMoveNfa_0(0, 0);
00166    }
00167 }
00168 static private final int jjMoveStringLiteralDfa1_0(long active0)
00169 {
00170    try { curChar = input_stream.readChar(); }
00171    catch(java.io.IOException e) {
00172       jjStopStringLiteralDfa_0(0, active0);
00173       return 1;
00174    }
00175    switch(curChar)
00176    {
00177       case 38:
00178          if ((active0 & 0x800000000000L) != 0L)
00179             return jjStopAtPos(1, 47);
00180          break;
00181       case 43:
00182          if ((active0 & 0x1000000000000L) != 0L)
00183             return jjStopAtPos(1, 48);
00184          break;
00185       case 61:
00186          if ((active0 & 0x40000000000L) != 0L)
00187             return jjStopAtPos(1, 42);
00188          else if ((active0 & 0x80000000000L) != 0L)
00189             return jjStopAtPos(1, 43);
00190          else if ((active0 & 0x100000000000L) != 0L)
00191             return jjStopAtPos(1, 44);
00192          else if ((active0 & 0x200000000000L) != 0L)
00193             return jjStopAtPos(1, 45);
00194          break;
00195       case 97:
00196          return jjMoveStringLiteralDfa2_0(active0, 0x14000L);
00197       case 101:
00198          return jjMoveStringLiteralDfa2_0(active0, 0x9000L);
00199       case 110:
00200          if ((active0 & 0x20000L) != 0L)
00201             return jjStartNfaWithStates_0(1, 17, 13);
00202          return jjMoveStringLiteralDfa2_0(active0, 0x200L);
00203       case 111:
00204          return jjMoveStringLiteralDfa2_0(active0, 0x800L);
00205       case 114:
00206          if ((active0 & 0x400L) != 0L)
00207             return jjStartNfaWithStates_0(1, 10, 13);
00208          return jjMoveStringLiteralDfa2_0(active0, 0x2000L);
00209       case 124:
00210          if ((active0 & 0x400000000000L) != 0L)
00211             return jjStopAtPos(1, 46);
00212          break;
00213       default :
00214          break;
00215    }
00216    return jjStartNfa_0(0, active0);
00217 }
00218 static private final int jjMoveStringLiteralDfa2_0(long old0, long active0)
00219 {
00220    if (((active0 &= old0)) == 0L)
00221       return jjStartNfa_0(0, old0); 
00222    try { curChar = input_stream.readChar(); }
00223    catch(java.io.IOException e) {
00224       jjStopStringLiteralDfa_0(1, active0);
00225       return 2;
00226    }
00227    switch(curChar)
00228    {
00229       case 100:
00230          if ((active0 & 0x200L) != 0L)
00231             return jjStartNfaWithStates_0(2, 9, 13);
00232          break;
00233       case 108:
00234          return jjMoveStringLiteralDfa3_0(active0, 0x4000L);
00235       case 110:
00236          return jjMoveStringLiteralDfa3_0(active0, 0x1000L);
00237       case 114:
00238          if ((active0 & 0x10000L) != 0L)
00239             return jjStartNfaWithStates_0(2, 16, 13);
00240          break;
00241       case 116:
00242          if ((active0 & 0x800L) != 0L)
00243             return jjStartNfaWithStates_0(2, 11, 13);
00244          else if ((active0 & 0x8000L) != 0L)
00245             return jjStartNfaWithStates_0(2, 15, 13);
00246          break;
00247       case 117:
00248          return jjMoveStringLiteralDfa3_0(active0, 0x2000L);
00249       default :
00250          break;
00251    }
00252    return jjStartNfa_0(1, active0);
00253 }
00254 static private final int jjMoveStringLiteralDfa3_0(long old0, long active0)
00255 {
00256    if (((active0 &= old0)) == 0L)
00257       return jjStartNfa_0(1, old0); 
00258    try { curChar = input_stream.readChar(); }
00259    catch(java.io.IOException e) {
00260       jjStopStringLiteralDfa_0(2, active0);
00261       return 3;
00262    }
00263    switch(curChar)
00264    {
00265       case 101:
00266          if ((active0 & 0x2000L) != 0L)
00267             return jjStartNfaWithStates_0(3, 13, 13);
00268          break;
00269       case 103:
00270          return jjMoveStringLiteralDfa4_0(active0, 0x1000L);
00271       case 115:
00272          return jjMoveStringLiteralDfa4_0(active0, 0x4000L);
00273       default :
00274          break;
00275    }
00276    return jjStartNfa_0(2, active0);
00277 }
00278 static private final int jjMoveStringLiteralDfa4_0(long old0, long active0)
00279 {
00280    if (((active0 &= old0)) == 0L)
00281       return jjStartNfa_0(2, old0); 
00282    try { curChar = input_stream.readChar(); }
00283    catch(java.io.IOException e) {
00284       jjStopStringLiteralDfa_0(3, active0);
00285       return 4;
00286    }
00287    switch(curChar)
00288    {
00289       case 101:
00290          if ((active0 & 0x4000L) != 0L)
00291             return jjStartNfaWithStates_0(4, 14, 13);
00292          break;
00293       case 116:
00294          return jjMoveStringLiteralDfa5_0(active0, 0x1000L);
00295       default :
00296          break;
00297    }
00298    return jjStartNfa_0(3, active0);
00299 }
00300 static private final int jjMoveStringLiteralDfa5_0(long old0, long active0)
00301 {
00302    if (((active0 &= old0)) == 0L)
00303       return jjStartNfa_0(3, old0); 
00304    try { curChar = input_stream.readChar(); }
00305    catch(java.io.IOException e) {
00306       jjStopStringLiteralDfa_0(4, active0);
00307       return 5;
00308    }
00309    switch(curChar)
00310    {
00311       case 104:
00312          if ((active0 & 0x1000L) != 0L)
00313             return jjStartNfaWithStates_0(5, 12, 13);
00314          break;
00315       default :
00316          break;
00317    }
00318    return jjStartNfa_0(4, active0);
00319 }
00320 static private final void jjCheckNAdd(int state)
00321 {
00322    if (jjrounds[state] != jjround)
00323    {
00324       jjstateSet[jjnewStateCnt++] = state;
00325       jjrounds[state] = jjround;
00326    }
00327 }
00328 static private final void jjAddStates(int start, int end)
00329 {
00330    do {
00331       jjstateSet[jjnewStateCnt++] = jjnextStates[start];
00332    } while (start++ != end);
00333 }
00334 static private final void jjCheckNAddTwoStates(int state1, int state2)
00335 {
00336    jjCheckNAdd(state1);
00337    jjCheckNAdd(state2);
00338 }
00339 static private final void jjCheckNAddStates(int start, int end)
00340 {
00341    do {
00342       jjCheckNAdd(jjnextStates[start]);
00343    } while (start++ != end);
00344 }
00345 static private final void jjCheckNAddStates(int start)
00346 {
00347    jjCheckNAdd(jjnextStates[start]);
00348    jjCheckNAdd(jjnextStates[start + 1]);
00349 }
00350 static final long[] jjbitVec0 = {
00351    0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
00352 };
00353 static final long[] jjbitVec2 = {
00354    0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
00355 };
00356 static final long[] jjbitVec3 = {
00357    0x1ff00000fffffffeL, 0xffffffffffffc000L, 0xffffffffL, 0x600000000000000L
00358 };
00359 static final long[] jjbitVec4 = {
00360    0x0L, 0x0L, 0x0L, 0xff7fffffff7fffffL
00361 };
00362 static final long[] jjbitVec5 = {
00363    0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
00364 };
00365 static final long[] jjbitVec6 = {
00366    0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffL, 0x0L
00367 };
00368 static final long[] jjbitVec7 = {
00369    0xffffffffffffffffL, 0xffffffffffffffffL, 0x0L, 0x0L
00370 };
00371 static final long[] jjbitVec8 = {
00372    0x3fffffffffffL, 0x0L, 0x0L, 0x0L
00373 };
00374 static private final int jjMoveNfa_0(int startState, int curPos)
00375 {
00376    int[] nextStates;
00377    int startsAt = 0;
00378    jjnewStateCnt = 37;
00379    int i = 1;
00380    jjstateSet[0] = startState;
00381    int j, kind = 0x7fffffff;
00382    for (;;)
00383    {
00384       if (++jjround == 0x7fffffff)
00385          ReInitRounds();
00386       if (curChar < 64)
00387       {
00388          long l = 1L << curChar;
00389          MatchLoop: do
00390          {
00391             switch(jjstateSet[--i])
00392             {
00393                case 19:
00394                   if (curChar == 42)
00395                      jjCheckNAddTwoStates(32, 33);
00396                   else if (curChar == 47)
00397                      jjCheckNAddStates(0, 2);
00398                   if (curChar == 42)
00399                      jjstateSet[jjnewStateCnt++] = 24;
00400                   break;
00401                case 0:
00402                   if ((0x3fe000000000000L & l) != 0L)
00403                   {
00404                      if (kind > 18)
00405                         kind = 18;
00406                      jjCheckNAddTwoStates(1, 2);
00407                   }
00408                   else if (curChar == 47)
00409                      jjAddStates(3, 5);
00410                   else if (curChar == 48)
00411                   {
00412                      if (kind > 18)
00413                         kind = 18;
00414                      jjCheckNAddStates(6, 8);
00415                   }
00416                   else if (curChar == 36)
00417                   {
00418                      if (kind > 23)
00419                         kind = 23;
00420                      jjCheckNAdd(13);
00421                   }
00422                   else if (curChar == 34)
00423                      jjCheckNAddStates(9, 11);
00424                   break;
00425                case 1:
00426                   if ((0x3ff000000000000L & l) == 0L)
00427                      break;
00428                   if (kind > 18)
00429                      kind = 18;
00430                   jjCheckNAddTwoStates(1, 2);
00431                   break;
00432                case 3:
00433                   if (curChar == 34)
00434                      jjCheckNAddStates(9, 11);
00435                   break;
00436                case 4:
00437                   if ((0xfffffffbffffdbffL & l) != 0L)
00438                      jjCheckNAddStates(9, 11);
00439                   break;
00440                case 6:
00441                   if ((0x8400000000L & l) != 0L)
00442                      jjCheckNAddStates(9, 11);
00443                   break;
00444                case 7:
00445                   if (curChar == 34 && kind > 22)
00446                      kind = 22;
00447                   break;
00448                case 8:
00449                   if ((0xff000000000000L & l) != 0L)
00450                      jjCheckNAddStates(12, 15);
00451                   break;
00452                case 9:
00453                   if ((0xff000000000000L & l) != 0L)
00454                      jjCheckNAddStates(9, 11);
00455                   break;
00456                case 10:
00457                   if ((0xf000000000000L & l) != 0L)
00458                      jjstateSet[jjnewStateCnt++] = 11;
00459                   break;
00460                case 11:
00461                   if ((0xff000000000000L & l) != 0L)
00462                      jjCheckNAdd(9);
00463                   break;
00464                case 12:
00465                   if (curChar != 36)
00466                      break;
00467                   if (kind > 23)
00468                      kind = 23;
00469                   jjCheckNAdd(13);
00470                   break;
00471                case 13:
00472                   if ((0x3ff001000000000L & l) == 0L)
00473                      break;
00474                   if (kind > 23)
00475                      kind = 23;
00476                   jjCheckNAdd(13);
00477                   break;
00478                case 14:
00479                   if (curChar != 48)
00480                      break;
00481                   if (kind > 18)
00482                      kind = 18;
00483                   jjCheckNAddStates(6, 8);
00484                   break;
00485                case 16:
00486                   if ((0x3ff000000000000L & l) == 0L)
00487                      break;
00488                   if (kind > 18)
00489                      kind = 18;
00490                   jjCheckNAddTwoStates(16, 2);
00491                   break;
00492                case 17:
00493                   if ((0xff000000000000L & l) == 0L)
00494                      break;
00495                   if (kind > 18)
00496                      kind = 18;
00497                   jjCheckNAddTwoStates(17, 2);
00498                   break;
00499                case 18:
00500                   if (curChar == 47)
00501                      jjAddStates(3, 5);
00502                   break;
00503                case 20:
00504                   if ((0xffffffffffffdbffL & l) != 0L)
00505                      jjCheckNAddStates(0, 2);
00506                   break;
00507                case 21:
00508                   if ((0x2400L & l) != 0L && kind > 6)
00509                      kind = 6;
00510                   break;
00511                case 22:
00512                   if (curChar == 10 && kind > 6)
00513                      kind = 6;
00514                   break;
00515                case 23:
00516                   if (curChar == 13)
00517                      jjstateSet[jjnewStateCnt++] = 22;
00518                   break;
00519                case 24:
00520                   if (curChar == 42)
00521                      jjCheckNAddTwoStates(25, 26);
00522                   break;
00523                case 25:
00524                   if ((0xfffffbffffffffffL & l) != 0L)
00525                      jjCheckNAddTwoStates(25, 26);
00526                   break;
00527                case 26:
00528                   if (curChar == 42)
00529                      jjCheckNAddStates(16, 18);
00530                   break;
00531                case 27:
00532                   if ((0xffff7bffffffffffL & l) != 0L)
00533                      jjCheckNAddTwoStates(28, 26);
00534                   break;
00535                case 28:
00536                   if ((0xfffffbffffffffffL & l) != 0L)
00537                      jjCheckNAddTwoStates(28, 26);
00538                   break;
00539                case 29:
00540                   if (curChar == 47 && kind > 7)
00541                      kind = 7;
00542                   break;
00543                case 30:
00544                   if (curChar == 42)
00545                      jjstateSet[jjnewStateCnt++] = 24;
00546                   break;
00547                case 31:
00548                   if (curChar == 42)
00549                      jjCheckNAddTwoStates(32, 33);
00550                   break;
00551                case 32:
00552                   if ((0xfffffbffffffffffL & l) != 0L)
00553                      jjCheckNAddTwoStates(32, 33);
00554                   break;
00555                case 33:
00556                   if (curChar == 42)
00557                      jjCheckNAddStates(19, 21);
00558                   break;
00559                case 34:
00560                   if ((0xffff7bffffffffffL & l) != 0L)
00561                      jjCheckNAddTwoStates(35, 33);
00562                   break;
00563                case 35:
00564                   if ((0xfffffbffffffffffL & l) != 0L)
00565                      jjCheckNAddTwoStates(35, 33);
00566                   break;
00567                case 36:
00568                   if (curChar == 47 && kind > 8)
00569                      kind = 8;
00570                   break;
00571                default : break;
00572             }
00573          } while(i != startsAt);
00574       }
00575       else if (curChar < 128)
00576       {
00577          long l = 1L << (curChar & 077);
00578          MatchLoop: do
00579          {
00580             switch(jjstateSet[--i])
00581             {
00582                case 0:
00583                case 13:
00584                   if ((0x7fffffe87fffffeL & l) == 0L)
00585                      break;
00586                   if (kind > 23)
00587                      kind = 23;
00588                   jjCheckNAdd(13);
00589                   break;
00590                case 2:
00591                   if ((0x100000001000L & l) != 0L && kind > 18)
00592                      kind = 18;
00593                   break;
00594                case 4:
00595                   if ((0xffffffffefffffffL & l) != 0L)
00596                      jjCheckNAddStates(9, 11);
00597                   break;
00598                case 5:
00599                   if (curChar == 92)
00600                      jjAddStates(22, 24);
00601                   break;
00602                case 6:
00603                   if ((0x14404410000000L & l) != 0L)
00604                      jjCheckNAddStates(9, 11);
00605                   break;
00606                case 15:
00607                   if ((0x100000001000000L & l) != 0L)
00608                      jjCheckNAdd(16);
00609                   break;
00610                case 16:
00611                   if ((0x7e0000007eL & l) == 0L)
00612                      break;
00613                   if (kind > 18)
00614                      kind = 18;
00615                   jjCheckNAddTwoStates(16, 2);
00616                   break;
00617                case 20:
00618                   jjAddStates(0, 2);
00619                   break;
00620                case 25:
00621                   jjCheckNAddTwoStates(25, 26);
00622                   break;
00623                case 27:
00624                case 28:
00625                   jjCheckNAddTwoStates(28, 26);
00626                   break;
00627                case 32:
00628                   jjCheckNAddTwoStates(32, 33);
00629                   break;
00630                case 34:
00631                case 35:
00632                   jjCheckNAddTwoStates(35, 33);
00633                   break;
00634                default : break;
00635             }
00636          } while(i != startsAt);
00637       }
00638       else
00639       {
00640          int hiByte = (int)(curChar >> 8);
00641          int i1 = hiByte >> 6;
00642          long l1 = 1L << (hiByte & 077);
00643          int i2 = (curChar & 0xff) >> 6;
00644          long l2 = 1L << (curChar & 077);
00645          MatchLoop: do
00646          {
00647             switch(jjstateSet[--i])
00648             {
00649                case 0:
00650                case 13:
00651                   if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
00652                      break;
00653                   if (kind > 23)
00654                      kind = 23;
00655                   jjCheckNAdd(13);
00656                   break;
00657                case 4:
00658                   if (jjCanMove_0(hiByte, i1, i2, l1, l2))
00659                      jjAddStates(9, 11);
00660                   break;
00661                case 20:
00662                   if (jjCanMove_0(hiByte, i1, i2, l1, l2))
00663                      jjAddStates(0, 2);
00664                   break;
00665                case 25:
00666                   if (jjCanMove_0(hiByte, i1, i2, l1, l2))
00667                      jjCheckNAddTwoStates(25, 26);
00668                   break;
00669                case 27:
00670                case 28:
00671                   if (jjCanMove_0(hiByte, i1, i2, l1, l2))
00672                      jjCheckNAddTwoStates(28, 26);
00673                   break;
00674                case 32:
00675                   if (jjCanMove_0(hiByte, i1, i2, l1, l2))
00676                      jjCheckNAddTwoStates(32, 33);
00677                   break;
00678                case 34:
00679                case 35:
00680                   if (jjCanMove_0(hiByte, i1, i2, l1, l2))
00681                      jjCheckNAddTwoStates(35, 33);
00682                   break;
00683                default : break;
00684             }
00685          } while(i != startsAt);
00686       }
00687       if (kind != 0x7fffffff)
00688       {
00689          jjmatchedKind = kind;
00690          jjmatchedPos = curPos;
00691          kind = 0x7fffffff;
00692       }
00693       ++curPos;
00694       if ((i = jjnewStateCnt) == (startsAt = 37 - (jjnewStateCnt = startsAt)))
00695          return curPos;
00696       try { curChar = input_stream.readChar(); }
00697       catch(java.io.IOException e) { return curPos; }
00698    }
00699 }
00700 static final int[] jjnextStates = {
00701    20, 21, 23, 19, 30, 31, 15, 17, 2, 4, 5, 7, 4, 5, 9, 7, 
00702    26, 27, 29, 33, 34, 36, 6, 8, 10, 
00703 };
00704 private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2)
00705 {
00706    switch(hiByte)
00707    {
00708       case 0:
00709          return ((jjbitVec2[i2] & l2) != 0L);
00710       default : 
00711          if ((jjbitVec0[i1] & l1) != 0L)
00712             return true;
00713          return false;
00714    }
00715 }
00716 private static final boolean jjCanMove_1(int hiByte, int i1, int i2, long l1, long l2)
00717 {
00718    switch(hiByte)
00719    {
00720       case 0:
00721          return ((jjbitVec4[i2] & l2) != 0L);
00722       case 48:
00723          return ((jjbitVec5[i2] & l2) != 0L);
00724       case 49:
00725          return ((jjbitVec6[i2] & l2) != 0L);
00726       case 51:
00727          return ((jjbitVec7[i2] & l2) != 0L);
00728       case 61:
00729          return ((jjbitVec8[i2] & l2) != 0L);
00730       default : 
00731          if ((jjbitVec3[i1] & l1) != 0L)
00732             return true;
00733          return false;
00734    }
00735 }
00736 public static final String[] jjstrLiteralImages = {
00737 "", null, null, null, null, null, null, null, null, "\141\156\144", 
00738 "\157\162", "\156\157\164", "\154\145\156\147\164\150", "\164\162\165\145", 
00739 "\146\141\154\163\145", "\154\145\164", "\166\141\162", "\151\156", null, null, null, null, null, null, 
00740 null, null, "\50", "\51", "\173", "\175", "\133", "\135", "\73", "\54", "\56", 
00741 "\75", "\76", "\74", "\41", "\176", "\77", "\72", "\75\75", "\74\75", "\76\75", 
00742 "\41\75", "\174\174", "\46\46", "\53\53", "\53", "\55", "\52", "\57", "\46", "\174", 
00743 "\136", "\45", };
00744 public static final String[] lexStateNames = {
00745    "DEFAULT", 
00746 };
00747 static final long[] jjtoToken = {
00748    0x1fffffffcc7fe01L, 
00749 };
00750 static final long[] jjtoSkip = {
00751    0x1feL, 
00752 };
00753 static final long[] jjtoSpecial = {
00754    0x1c0L, 
00755 };
00756 static protected JavaCharStream input_stream;
00757 static private final int[] jjrounds = new int[37];
00758 static private final int[] jjstateSet = new int[74];
00759 static protected char curChar;
00760 public Exp2ParserTokenManager(JavaCharStream stream){
00761    if (input_stream != null)
00762       throw new TokenMgrError("ERROR: Second call to constructor of static lexer. You must use ReInit() to initialize the static variables.", TokenMgrError.STATIC_LEXER_ERROR);
00763    input_stream = stream;
00764 }
00765 public Exp2ParserTokenManager(JavaCharStream stream, int lexState){
00766    this(stream);
00767    SwitchTo(lexState);
00768 }
00769 static public void ReInit(JavaCharStream stream)
00770 {
00771    jjmatchedPos = jjnewStateCnt = 0;
00772    curLexState = defaultLexState;
00773    input_stream = stream;
00774    ReInitRounds();
00775 }
00776 static private final void ReInitRounds()
00777 {
00778    int i;
00779    jjround = 0x80000001;
00780    for (i = 37; i-- > 0;)
00781       jjrounds[i] = 0x80000000;
00782 }
00783 static public void ReInit(JavaCharStream stream, int lexState)
00784 {
00785    ReInit(stream);
00786    SwitchTo(lexState);
00787 }
00788 static public void SwitchTo(int lexState)
00789 {
00790    if (lexState >= 1 || lexState < 0)
00791       throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
00792    else
00793       curLexState = lexState;
00794 }
00795 
00796 static protected Token jjFillToken()
00797 {
00798    Token t = Token.newToken(jjmatchedKind);
00799    t.kind = jjmatchedKind;
00800    String im = jjstrLiteralImages[jjmatchedKind];
00801    t.image = (im == null) ? input_stream.GetImage() : im;
00802    t.beginLine = input_stream.getBeginLine();
00803    t.beginColumn = input_stream.getBeginColumn();
00804    t.endLine = input_stream.getEndLine();
00805    t.endColumn = input_stream.getEndColumn();
00806    return t;
00807 }
00808 
00809 static int curLexState = 0;
00810 static int defaultLexState = 0;
00811 static int jjnewStateCnt;
00812 static int jjround;
00813 static int jjmatchedPos;
00814 static int jjmatchedKind;
00815 
00816 public static Token getNextToken() 
00817 {
00818   int kind;
00819   Token specialToken = null;
00820   Token matchedToken;
00821   int curPos = 0;
00822 
00823   EOFLoop :
00824   for (;;)
00825   {   
00826    try   
00827    {     
00828       curChar = input_stream.BeginToken();
00829    }     
00830    catch(java.io.IOException e)
00831    {        
00832       jjmatchedKind = 0;
00833       matchedToken = jjFillToken();
00834       matchedToken.specialToken = specialToken;
00835       return matchedToken;
00836    }
00837 
00838    try { input_stream.backup(0);
00839       while (curChar <= 32 && (0x100003600L & (1L << curChar)) != 0L)
00840          curChar = input_stream.BeginToken();
00841    }
00842    catch (java.io.IOException e1) { continue EOFLoop; }
00843    jjmatchedKind = 0x7fffffff;
00844    jjmatchedPos = 0;
00845    curPos = jjMoveStringLiteralDfa0_0();
00846    if (jjmatchedKind != 0x7fffffff)
00847    {
00848       if (jjmatchedPos + 1 < curPos)
00849          input_stream.backup(curPos - jjmatchedPos - 1);
00850       if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
00851       {
00852          matchedToken = jjFillToken();
00853          matchedToken.specialToken = specialToken;
00854          return matchedToken;
00855       }
00856       else
00857       {
00858          if ((jjtoSpecial[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
00859          {
00860             matchedToken = jjFillToken();
00861             if (specialToken == null)
00862                specialToken = matchedToken;
00863             else
00864             {
00865                matchedToken.specialToken = specialToken;
00866                specialToken = (specialToken.next = matchedToken);
00867             }
00868          }
00869          continue EOFLoop;
00870       }
00871    }
00872    int error_line = input_stream.getEndLine();
00873    int error_column = input_stream.getEndColumn();
00874    String error_after = null;
00875    boolean EOFSeen = false;
00876    try { input_stream.readChar(); input_stream.backup(1); }
00877    catch (java.io.IOException e1) {
00878       EOFSeen = true;
00879       error_after = curPos <= 1 ? "" : input_stream.GetImage();
00880       if (curChar == '\n' || curChar == '\r') {
00881          error_line++;
00882          error_column = 0;
00883       }
00884       else
00885          error_column++;
00886    }
00887    if (!EOFSeen) {
00888       input_stream.backup(1);
00889       error_after = curPos <= 1 ? "" : input_stream.GetImage();
00890    }
00891    throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
00892   }
00893 }
00894 
00895 }

Generated on Tue Sep 12 21:36:02 2006 for PLP by  doxygen 1.4.7