RccTokenManager.java
上传用户:quxuerui
上传日期:2018-01-08
资源大小:41811k
文件大小:25k
源码类别:

网格计算

开发平台:

Java

  1. /* Generated By:JavaCC: Do not edit this line. RccTokenManager.java */
  2. /**
  3.  * Licensed to the Apache Software Foundation (ASF) under one
  4.  * or more contributor license agreements.  See the NOTICE file
  5.  * distributed with this work for additional information
  6.  * regarding copyright ownership.  The ASF licenses this file
  7.  * to you under the Apache License, Version 2.0 (the
  8.  * "License"); you may not use this file except in compliance
  9.  * with the License.  You may obtain a copy of the License at
  10.  *
  11.  *     http://www.apache.org/licenses/LICENSE-2.0
  12.  *
  13.  * Unless required by applicable law or agreed to in writing, software
  14.  * distributed under the License is distributed on an "AS IS" BASIS,
  15.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  16.  * See the License for the specific language governing permissions and
  17.  * limitations under the License.
  18.  */
  19. package org.apache.hadoop.record.compiler.generated;
  20. import org.apache.hadoop.record.compiler.*;
  21. import java.util.ArrayList;
  22. import java.util.Hashtable;
  23. import java.util.Iterator;
  24. import java.io.File;
  25. import java.io.FileReader;
  26. import java.io.FileNotFoundException;
  27. import java.io.IOException;
  28. public class RccTokenManager implements RccConstants
  29. {
  30.   public  java.io.PrintStream debugStream = System.out;
  31.   public  void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
  32.   private final int jjMoveStringLiteralDfa0_1()
  33.   {
  34.     return jjMoveNfa_1(0, 0);
  35.   }
  36.   private final void jjCheckNAdd(int state)
  37.   {
  38.     if (jjrounds[state] != jjround)
  39.       {
  40.         jjstateSet[jjnewStateCnt++] = state;
  41.         jjrounds[state] = jjround;
  42.       }
  43.   }
  44.   private final void jjAddStates(int start, int end)
  45.   {
  46.     do {
  47.       jjstateSet[jjnewStateCnt++] = jjnextStates[start];
  48.     } while (start++ != end);
  49.   }
  50.   private final void jjCheckNAddTwoStates(int state1, int state2)
  51.   {
  52.     jjCheckNAdd(state1);
  53.     jjCheckNAdd(state2);
  54.   }
  55.   private final void jjCheckNAddStates(int start, int end)
  56.   {
  57.     do {
  58.       jjCheckNAdd(jjnextStates[start]);
  59.     } while (start++ != end);
  60.   }
  61.   private final void jjCheckNAddStates(int start)
  62.   {
  63.     jjCheckNAdd(jjnextStates[start]);
  64.     jjCheckNAdd(jjnextStates[start + 1]);
  65.   }
  66.   private final int jjMoveNfa_1(int startState, int curPos)
  67.   {
  68.     int[] nextStates;
  69.     int startsAt = 0;
  70.     jjnewStateCnt = 3;
  71.     int i = 1;
  72.     jjstateSet[0] = startState;
  73.     int j, kind = 0x7fffffff;
  74.     for (;;)
  75.       {
  76.         if (++jjround == 0x7fffffff)
  77.           ReInitRounds();
  78.         if (curChar < 64)
  79.           {
  80.             long l = 1L << curChar;
  81.             MatchLoop: do
  82.               {
  83.                 switch(jjstateSet[--i])
  84.                   {
  85.                   case 0:
  86.                     if ((0x2400L & l) != 0L)
  87.                       {
  88.                         if (kind > 6)
  89.                           kind = 6;
  90.                       }
  91.                     if (curChar == 13)
  92.                       jjstateSet[jjnewStateCnt++] = 1;
  93.                     break;
  94.                   case 1:
  95.                     if (curChar == 10 && kind > 6)
  96.                       kind = 6;
  97.                     break;
  98.                   case 2:
  99.                     if (curChar == 13)
  100.                       jjstateSet[jjnewStateCnt++] = 1;
  101.                     break;
  102.                   default : break;
  103.                   }
  104.               } while(i != startsAt);
  105.           }
  106.         else if (curChar < 128)
  107.           {
  108.             long l = 1L << (curChar & 077);
  109.             MatchLoop: do
  110.               {
  111.                 switch(jjstateSet[--i])
  112.                   {
  113.                   default : break;
  114.                   }
  115.               } while(i != startsAt);
  116.           }
  117.         else
  118.           {
  119.             int i2 = (curChar & 0xff) >> 6;
  120.             long l2 = 1L << (curChar & 077);
  121.             MatchLoop: do
  122.               {
  123.                 switch(jjstateSet[--i])
  124.                   {
  125.                   default : break;
  126.                   }
  127.               } while(i != startsAt);
  128.           }
  129.         if (kind != 0x7fffffff)
  130.           {
  131.             jjmatchedKind = kind;
  132.             jjmatchedPos = curPos;
  133.             kind = 0x7fffffff;
  134.           }
  135.         ++curPos;
  136.         if ((i = jjnewStateCnt) == (startsAt = 3 - (jjnewStateCnt = startsAt)))
  137.           return curPos;
  138.         try { curChar = input_stream.readChar(); }
  139.         catch(java.io.IOException e) { return curPos; }
  140.       }
  141.   }
  142.   private final int jjStopStringLiteralDfa_0(int pos, long active0)
  143.   {
  144.     switch (pos)
  145.       {
  146.       case 0:
  147.         if ((active0 & 0xfff800L) != 0L)
  148.           {
  149.             jjmatchedKind = 32;
  150.             return 4;
  151.           }
  152.         return -1;
  153.       case 1:
  154.         if ((active0 & 0xfff800L) != 0L)
  155.           {
  156.             jjmatchedKind = 32;
  157.             jjmatchedPos = 1;
  158.             return 4;
  159.           }
  160.         return -1;
  161.       case 2:
  162.         if ((active0 & 0x7ef800L) != 0L)
  163.           {
  164.             jjmatchedKind = 32;
  165.             jjmatchedPos = 2;
  166.             return 4;
  167.           }
  168.         if ((active0 & 0x810000L) != 0L)
  169.           return 4;
  170.         return -1;
  171.       case 3:
  172.         if ((active0 & 0x24000L) != 0L)
  173.           return 4;
  174.         if ((active0 & 0x7cb800L) != 0L)
  175.           {
  176.             jjmatchedKind = 32;
  177.             jjmatchedPos = 3;
  178.             return 4;
  179.           }
  180.         return -1;
  181.       case 4:
  182.         if ((active0 & 0x41000L) != 0L)
  183.           return 4;
  184.         if ((active0 & 0x78a800L) != 0L)
  185.           {
  186.             jjmatchedKind = 32;
  187.             jjmatchedPos = 4;
  188.             return 4;
  189.           }
  190.         return -1;
  191.       case 5:
  192.         if ((active0 & 0x680800L) != 0L)
  193.           return 4;
  194.         if ((active0 & 0x10a000L) != 0L)
  195.           {
  196.             jjmatchedKind = 32;
  197.             jjmatchedPos = 5;
  198.             return 4;
  199.           }
  200.         return -1;
  201.       default :
  202.         return -1;
  203.       }
  204.   }
  205.   private final int jjStartNfa_0(int pos, long active0)
  206.   {
  207.     return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);
  208.   }
  209.   private final int jjStopAtPos(int pos, int kind)
  210.   {
  211.     jjmatchedKind = kind;
  212.     jjmatchedPos = pos;
  213.     return pos + 1;
  214.   }
  215.   private final int jjStartNfaWithStates_0(int pos, int kind, int state)
  216.   {
  217.     jjmatchedKind = kind;
  218.     jjmatchedPos = pos;
  219.     try { curChar = input_stream.readChar(); }
  220.     catch(java.io.IOException e) { return pos + 1; }
  221.     return jjMoveNfa_0(state, pos + 1);
  222.   }
  223.   private final int jjMoveStringLiteralDfa0_0()
  224.   {
  225.     switch(curChar)
  226.       {
  227.       case 44:
  228.         return jjStopAtPos(0, 29);
  229.       case 46:
  230.         return jjStopAtPos(0, 30);
  231.       case 47:
  232.         return jjMoveStringLiteralDfa1_0(0x120L);
  233.       case 59:
  234.         return jjStopAtPos(0, 28);
  235.       case 60:
  236.         return jjStopAtPos(0, 26);
  237.       case 62:
  238.         return jjStopAtPos(0, 27);
  239.       case 98:
  240.         return jjMoveStringLiteralDfa1_0(0x20c000L);
  241.       case 99:
  242.         return jjMoveStringLiteralDfa1_0(0x1000L);
  243.       case 100:
  244.         return jjMoveStringLiteralDfa1_0(0x80000L);
  245.       case 102:
  246.         return jjMoveStringLiteralDfa1_0(0x40000L);
  247.       case 105:
  248.         return jjMoveStringLiteralDfa1_0(0x12000L);
  249.       case 108:
  250.         return jjMoveStringLiteralDfa1_0(0x20000L);
  251.       case 109:
  252.         return jjMoveStringLiteralDfa1_0(0x800800L);
  253.       case 117:
  254.         return jjMoveStringLiteralDfa1_0(0x100000L);
  255.       case 118:
  256.         return jjMoveStringLiteralDfa1_0(0x400000L);
  257.       case 123:
  258.         return jjStopAtPos(0, 24);
  259.       case 125:
  260.         return jjStopAtPos(0, 25);
  261.       default :
  262.         return jjMoveNfa_0(0, 0);
  263.       }
  264.   }
  265.   private final int jjMoveStringLiteralDfa1_0(long active0)
  266.   {
  267.     try { curChar = input_stream.readChar(); }
  268.     catch(java.io.IOException e) {
  269.       jjStopStringLiteralDfa_0(0, active0);
  270.       return 1;
  271.     }
  272.     switch(curChar)
  273.       {
  274.       case 42:
  275.         if ((active0 & 0x100L) != 0L)
  276.           return jjStopAtPos(1, 8);
  277.         break;
  278.       case 47:
  279.         if ((active0 & 0x20L) != 0L)
  280.           return jjStopAtPos(1, 5);
  281.         break;
  282.       case 97:
  283.         return jjMoveStringLiteralDfa2_0(active0, 0x800000L);
  284.       case 101:
  285.         return jjMoveStringLiteralDfa2_0(active0, 0x400000L);
  286.       case 108:
  287.         return jjMoveStringLiteralDfa2_0(active0, 0x41000L);
  288.       case 110:
  289.         return jjMoveStringLiteralDfa2_0(active0, 0x12000L);
  290.       case 111:
  291.         return jjMoveStringLiteralDfa2_0(active0, 0xa8800L);
  292.       case 115:
  293.         return jjMoveStringLiteralDfa2_0(active0, 0x100000L);
  294.       case 117:
  295.         return jjMoveStringLiteralDfa2_0(active0, 0x200000L);
  296.       case 121:
  297.         return jjMoveStringLiteralDfa2_0(active0, 0x4000L);
  298.       default :
  299.         break;
  300.       }
  301.     return jjStartNfa_0(0, active0);
  302.   }
  303.   private final int jjMoveStringLiteralDfa2_0(long old0, long active0)
  304.   {
  305.     if (((active0 &= old0)) == 0L)
  306.       return jjStartNfa_0(0, old0); 
  307.     try { curChar = input_stream.readChar(); }
  308.     catch(java.io.IOException e) {
  309.       jjStopStringLiteralDfa_0(1, active0);
  310.       return 2;
  311.     }
  312.     switch(curChar)
  313.       {
  314.       case 97:
  315.         return jjMoveStringLiteralDfa3_0(active0, 0x1000L);
  316.       case 99:
  317.         return jjMoveStringLiteralDfa3_0(active0, 0x402000L);
  318.       case 100:
  319.         return jjMoveStringLiteralDfa3_0(active0, 0x800L);
  320.       case 102:
  321.         return jjMoveStringLiteralDfa3_0(active0, 0x200000L);
  322.       case 110:
  323.         return jjMoveStringLiteralDfa3_0(active0, 0x20000L);
  324.       case 111:
  325.         return jjMoveStringLiteralDfa3_0(active0, 0x48000L);
  326.       case 112:
  327.         if ((active0 & 0x800000L) != 0L)
  328.           return jjStartNfaWithStates_0(2, 23, 4);
  329.         break;
  330.       case 116:
  331.         if ((active0 & 0x10000L) != 0L)
  332.           return jjStartNfaWithStates_0(2, 16, 4);
  333.         return jjMoveStringLiteralDfa3_0(active0, 0x104000L);
  334.       case 117:
  335.         return jjMoveStringLiteralDfa3_0(active0, 0x80000L);
  336.       default :
  337.         break;
  338.       }
  339.     return jjStartNfa_0(1, active0);
  340.   }
  341.   private final int jjMoveStringLiteralDfa3_0(long old0, long active0)
  342.   {
  343.     if (((active0 &= old0)) == 0L)
  344.       return jjStartNfa_0(1, old0); 
  345.     try { curChar = input_stream.readChar(); }
  346.     catch(java.io.IOException e) {
  347.       jjStopStringLiteralDfa_0(2, active0);
  348.       return 3;
  349.     }
  350.     switch(curChar)
  351.       {
  352.       case 97:
  353.         return jjMoveStringLiteralDfa4_0(active0, 0x40000L);
  354.       case 98:
  355.         return jjMoveStringLiteralDfa4_0(active0, 0x80000L);
  356.       case 101:
  357.         if ((active0 & 0x4000L) != 0L)
  358.           return jjStartNfaWithStates_0(3, 14, 4);
  359.         break;
  360.       case 102:
  361.         return jjMoveStringLiteralDfa4_0(active0, 0x200000L);
  362.       case 103:
  363.         if ((active0 & 0x20000L) != 0L)
  364.           return jjStartNfaWithStates_0(3, 17, 4);
  365.         break;
  366.       case 108:
  367.         return jjMoveStringLiteralDfa4_0(active0, 0xa000L);
  368.       case 114:
  369.         return jjMoveStringLiteralDfa4_0(active0, 0x100000L);
  370.       case 115:
  371.         return jjMoveStringLiteralDfa4_0(active0, 0x1000L);
  372.       case 116:
  373.         return jjMoveStringLiteralDfa4_0(active0, 0x400000L);
  374.       case 117:
  375.         return jjMoveStringLiteralDfa4_0(active0, 0x800L);
  376.       default :
  377.         break;
  378.       }
  379.     return jjStartNfa_0(2, active0);
  380.   }
  381.   private final int jjMoveStringLiteralDfa4_0(long old0, long active0)
  382.   {
  383.     if (((active0 &= old0)) == 0L)
  384.       return jjStartNfa_0(2, old0); 
  385.     try { curChar = input_stream.readChar(); }
  386.     catch(java.io.IOException e) {
  387.       jjStopStringLiteralDfa_0(3, active0);
  388.       return 4;
  389.     }
  390.     switch(curChar)
  391.       {
  392.       case 101:
  393.         return jjMoveStringLiteralDfa5_0(active0, 0x208000L);
  394.       case 105:
  395.         return jjMoveStringLiteralDfa5_0(active0, 0x100000L);
  396.       case 108:
  397.         return jjMoveStringLiteralDfa5_0(active0, 0x80800L);
  398.       case 111:
  399.         return jjMoveStringLiteralDfa5_0(active0, 0x400000L);
  400.       case 115:
  401.         if ((active0 & 0x1000L) != 0L)
  402.           return jjStartNfaWithStates_0(4, 12, 4);
  403.         break;
  404.       case 116:
  405.         if ((active0 & 0x40000L) != 0L)
  406.           return jjStartNfaWithStates_0(4, 18, 4);
  407.         break;
  408.       case 117:
  409.         return jjMoveStringLiteralDfa5_0(active0, 0x2000L);
  410.       default :
  411.         break;
  412.       }
  413.     return jjStartNfa_0(3, active0);
  414.   }
  415.   private final int jjMoveStringLiteralDfa5_0(long old0, long active0)
  416.   {
  417.     if (((active0 &= old0)) == 0L)
  418.       return jjStartNfa_0(3, old0); 
  419.     try { curChar = input_stream.readChar(); }
  420.     catch(java.io.IOException e) {
  421.       jjStopStringLiteralDfa_0(4, active0);
  422.       return 5;
  423.     }
  424.     switch(curChar)
  425.       {
  426.       case 97:
  427.         return jjMoveStringLiteralDfa6_0(active0, 0x8000L);
  428.       case 100:
  429.         return jjMoveStringLiteralDfa6_0(active0, 0x2000L);
  430.       case 101:
  431.         if ((active0 & 0x800L) != 0L)
  432.           return jjStartNfaWithStates_0(5, 11, 4);
  433.         else if ((active0 & 0x80000L) != 0L)
  434.           return jjStartNfaWithStates_0(5, 19, 4);
  435.         break;
  436.       case 110:
  437.         return jjMoveStringLiteralDfa6_0(active0, 0x100000L);
  438.       case 114:
  439.         if ((active0 & 0x200000L) != 0L)
  440.           return jjStartNfaWithStates_0(5, 21, 4);
  441.         else if ((active0 & 0x400000L) != 0L)
  442.           return jjStartNfaWithStates_0(5, 22, 4);
  443.         break;
  444.       default :
  445.         break;
  446.       }
  447.     return jjStartNfa_0(4, active0);
  448.   }
  449.   private final int jjMoveStringLiteralDfa6_0(long old0, long active0)
  450.   {
  451.     if (((active0 &= old0)) == 0L)
  452.       return jjStartNfa_0(4, old0); 
  453.     try { curChar = input_stream.readChar(); }
  454.     catch(java.io.IOException e) {
  455.       jjStopStringLiteralDfa_0(5, active0);
  456.       return 6;
  457.     }
  458.     switch(curChar)
  459.       {
  460.       case 101:
  461.         if ((active0 & 0x2000L) != 0L)
  462.           return jjStartNfaWithStates_0(6, 13, 4);
  463.         break;
  464.       case 103:
  465.         if ((active0 & 0x100000L) != 0L)
  466.           return jjStartNfaWithStates_0(6, 20, 4);
  467.         break;
  468.       case 110:
  469.         if ((active0 & 0x8000L) != 0L)
  470.           return jjStartNfaWithStates_0(6, 15, 4);
  471.         break;
  472.       default :
  473.         break;
  474.       }
  475.     return jjStartNfa_0(5, active0);
  476.   }
  477.   static final long[] jjbitVec0 = {
  478.     0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
  479.   };
  480.   private final int jjMoveNfa_0(int startState, int curPos)
  481.   {
  482.     int[] nextStates;
  483.     int startsAt = 0;
  484.     jjnewStateCnt = 5;
  485.     int i = 1;
  486.     jjstateSet[0] = startState;
  487.     int j, kind = 0x7fffffff;
  488.     for (;;)
  489.       {
  490.         if (++jjround == 0x7fffffff)
  491.           ReInitRounds();
  492.         if (curChar < 64)
  493.           {
  494.             long l = 1L << curChar;
  495.             MatchLoop: do
  496.               {
  497.                 switch(jjstateSet[--i])
  498.                   {
  499.                   case 0:
  500.                     if (curChar == 34)
  501.                       jjCheckNAdd(1);
  502.                     break;
  503.                   case 1:
  504.                     if ((0xfffffffbffffffffL & l) != 0L)
  505.                       jjCheckNAddTwoStates(1, 2);
  506.                     break;
  507.                   case 2:
  508.                     if (curChar == 34 && kind > 31)
  509.                       kind = 31;
  510.                     break;
  511.                   case 4:
  512.                     if ((0x3ff000000000000L & l) == 0L)
  513.                       break;
  514.                     if (kind > 32)
  515.                       kind = 32;
  516.                     jjstateSet[jjnewStateCnt++] = 4;
  517.                     break;
  518.                   default : break;
  519.                   }
  520.               } while(i != startsAt);
  521.           }
  522.         else if (curChar < 128)
  523.           {
  524.             long l = 1L << (curChar & 077);
  525.             MatchLoop: do
  526.               {
  527.                 switch(jjstateSet[--i])
  528.                   {
  529.                   case 0:
  530.                     if ((0x7fffffe07fffffeL & l) == 0L)
  531.                       break;
  532.                     if (kind > 32)
  533.                       kind = 32;
  534.                     jjCheckNAdd(4);
  535.                     break;
  536.                   case 1:
  537.                     jjAddStates(0, 1);
  538.                     break;
  539.                   case 4:
  540.                     if ((0x7fffffe87fffffeL & l) == 0L)
  541.                       break;
  542.                     if (kind > 32)
  543.                       kind = 32;
  544.                     jjCheckNAdd(4);
  545.                     break;
  546.                   default : break;
  547.                   }
  548.               } while(i != startsAt);
  549.           }
  550.         else
  551.           {
  552.             int i2 = (curChar & 0xff) >> 6;
  553.             long l2 = 1L << (curChar & 077);
  554.             MatchLoop: do
  555.               {
  556.                 switch(jjstateSet[--i])
  557.                   {
  558.                   case 1:
  559.                     if ((jjbitVec0[i2] & l2) != 0L)
  560.                       jjAddStates(0, 1);
  561.                     break;
  562.                   default : break;
  563.                   }
  564.               } while(i != startsAt);
  565.           }
  566.         if (kind != 0x7fffffff)
  567.           {
  568.             jjmatchedKind = kind;
  569.             jjmatchedPos = curPos;
  570.             kind = 0x7fffffff;
  571.           }
  572.         ++curPos;
  573.         if ((i = jjnewStateCnt) == (startsAt = 5 - (jjnewStateCnt = startsAt)))
  574.           return curPos;
  575.         try { curChar = input_stream.readChar(); }
  576.         catch(java.io.IOException e) { return curPos; }
  577.       }
  578.   }
  579.   private final int jjMoveStringLiteralDfa0_2()
  580.   {
  581.     switch(curChar)
  582.       {
  583.       case 42:
  584.         return jjMoveStringLiteralDfa1_2(0x200L);
  585.       default :
  586.         return 1;
  587.       }
  588.   }
  589.   private final int jjMoveStringLiteralDfa1_2(long active0)
  590.   {
  591.     try { curChar = input_stream.readChar(); }
  592.     catch(java.io.IOException e) {
  593.       return 1;
  594.     }
  595.     switch(curChar)
  596.       {
  597.       case 47:
  598.         if ((active0 & 0x200L) != 0L)
  599.           return jjStopAtPos(1, 9);
  600.         break;
  601.       default :
  602.         return 2;
  603.       }
  604.     return 2;
  605.   }
  606.   static final int[] jjnextStates = {
  607.     1, 2, 
  608.   };
  609.   public static final String[] jjstrLiteralImages = {
  610.     "", null, null, null, null, null, null, null, null, null, null, 
  611.     "155157144165154145", "143154141163163", "151156143154165144145", "142171164145", 
  612.     "142157157154145141156", "151156164", "154157156147", "146154157141164", 
  613.     "144157165142154145", "165163164162151156147", "142165146146145162", 
  614.     "166145143164157162", "155141160", "173", "175", "74", "76", "73", "54", "56", null, null, };
  615.   public static final String[] lexStateNames = {
  616.     "DEFAULT", 
  617.     "WithinOneLineComment", 
  618.     "WithinMultiLineComment", 
  619.   };
  620.   public static final int[] jjnewLexState = {
  621.     -1, -1, -1, -1, -1, 1, 0, -1, 2, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
  622.     -1, -1, -1, -1, -1, -1, -1, -1, 
  623.   };
  624.   static final long[] jjtoToken = {
  625.     0x1fffff801L, 
  626.   };
  627.   static final long[] jjtoSkip = {
  628.     0x37eL, 
  629.   };
  630.   static final long[] jjtoSpecial = {
  631.     0x360L, 
  632.   };
  633.   static final long[] jjtoMore = {
  634.     0x480L, 
  635.   };
  636.   protected SimpleCharStream input_stream;
  637.   private final int[] jjrounds = new int[5];
  638.   private final int[] jjstateSet = new int[10];
  639.   StringBuffer image;
  640.   int jjimageLen;
  641.   int lengthOfMatch;
  642.   protected char curChar;
  643.   public RccTokenManager(SimpleCharStream stream){
  644.     if (SimpleCharStream.staticFlag)
  645.       throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
  646.     input_stream = stream;
  647.   }
  648.   public RccTokenManager(SimpleCharStream stream, int lexState){
  649.     this(stream);
  650.     SwitchTo(lexState);
  651.   }
  652.   public void ReInit(SimpleCharStream stream)
  653.   {
  654.     jjmatchedPos = jjnewStateCnt = 0;
  655.     curLexState = defaultLexState;
  656.     input_stream = stream;
  657.     ReInitRounds();
  658.   }
  659.   private final void ReInitRounds()
  660.   {
  661.     int i;
  662.     jjround = 0x80000001;
  663.     for (i = 5; i-- > 0;)
  664.       jjrounds[i] = 0x80000000;
  665.   }
  666.   public void ReInit(SimpleCharStream stream, int lexState)
  667.   {
  668.     ReInit(stream);
  669.     SwitchTo(lexState);
  670.   }
  671.   public void SwitchTo(int lexState)
  672.   {
  673.     if (lexState >= 3 || lexState < 0)
  674.       throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
  675.     else
  676.       curLexState = lexState;
  677.   }
  678.   protected Token jjFillToken()
  679.   {
  680.     Token t = Token.newToken(jjmatchedKind);
  681.     t.kind = jjmatchedKind;
  682.     String im = jjstrLiteralImages[jjmatchedKind];
  683.     t.image = (im == null) ? input_stream.GetImage() : im;
  684.     t.beginLine = input_stream.getBeginLine();
  685.     t.beginColumn = input_stream.getBeginColumn();
  686.     t.endLine = input_stream.getEndLine();
  687.     t.endColumn = input_stream.getEndColumn();
  688.     return t;
  689.   }
  690.   int curLexState = 0;
  691.   int defaultLexState = 0;
  692.   int jjnewStateCnt;
  693.   int jjround;
  694.   int jjmatchedPos;
  695.   int jjmatchedKind;
  696.   public Token getNextToken() 
  697.   {
  698.     int kind;
  699.     Token specialToken = null;
  700.     Token matchedToken;
  701.     int curPos = 0;
  702.     EOFLoop :
  703.       for (;;)
  704.         {   
  705.           try   
  706.             {     
  707.               curChar = input_stream.BeginToken();
  708.             }     
  709.           catch(java.io.IOException e)
  710.             {        
  711.               jjmatchedKind = 0;
  712.               matchedToken = jjFillToken();
  713.               matchedToken.specialToken = specialToken;
  714.               return matchedToken;
  715.             }
  716.           image = null;
  717.           jjimageLen = 0;
  718.           for (;;)
  719.             {
  720.               switch(curLexState)
  721.                 {
  722.                 case 0:
  723.                   try { input_stream.backup(0);
  724.                   while (curChar <= 32 && (0x100002600L & (1L << curChar)) != 0L)
  725.                     curChar = input_stream.BeginToken();
  726.                   }
  727.                   catch (java.io.IOException e1) { continue EOFLoop; }
  728.                   jjmatchedKind = 0x7fffffff;
  729.                   jjmatchedPos = 0;
  730.                   curPos = jjMoveStringLiteralDfa0_0();
  731.                   break;
  732.                 case 1:
  733.                   jjmatchedKind = 0x7fffffff;
  734.                   jjmatchedPos = 0;
  735.                   curPos = jjMoveStringLiteralDfa0_1();
  736.                   if (jjmatchedPos == 0 && jjmatchedKind > 7)
  737.                     {
  738.                       jjmatchedKind = 7;
  739.                     }
  740.                   break;
  741.                 case 2:
  742.                   jjmatchedKind = 0x7fffffff;
  743.                   jjmatchedPos = 0;
  744.                   curPos = jjMoveStringLiteralDfa0_2();
  745.                   if (jjmatchedPos == 0 && jjmatchedKind > 10)
  746.                     {
  747.                       jjmatchedKind = 10;
  748.                     }
  749.                   break;
  750.                 }
  751.               if (jjmatchedKind != 0x7fffffff)
  752.                 {
  753.                   if (jjmatchedPos + 1 < curPos)
  754.                     input_stream.backup(curPos - jjmatchedPos - 1);
  755.                   if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
  756.                     {
  757.                       matchedToken = jjFillToken();
  758.                       matchedToken.specialToken = specialToken;
  759.                       if (jjnewLexState[jjmatchedKind] != -1)
  760.                         curLexState = jjnewLexState[jjmatchedKind];
  761.                       return matchedToken;
  762.                     }
  763.                   else if ((jjtoSkip[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
  764.                     {
  765.                       if ((jjtoSpecial[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
  766.                         {
  767.                           matchedToken = jjFillToken();
  768.                           if (specialToken == null)
  769.                             specialToken = matchedToken;
  770.                           else
  771.                             {
  772.                               matchedToken.specialToken = specialToken;
  773.                               specialToken = (specialToken.next = matchedToken);
  774.                             }
  775.                           SkipLexicalActions(matchedToken);
  776.                         }
  777.                       else 
  778.                         SkipLexicalActions(null);
  779.                       if (jjnewLexState[jjmatchedKind] != -1)
  780.                         curLexState = jjnewLexState[jjmatchedKind];
  781.                       continue EOFLoop;
  782.                     }
  783.                   jjimageLen += jjmatchedPos + 1;
  784.                   if (jjnewLexState[jjmatchedKind] != -1)
  785.                     curLexState = jjnewLexState[jjmatchedKind];
  786.                   curPos = 0;
  787.                   jjmatchedKind = 0x7fffffff;
  788.                   try {
  789.                     curChar = input_stream.readChar();
  790.                     continue;
  791.                   }
  792.                   catch (java.io.IOException e1) { }
  793.                 }
  794.               int error_line = input_stream.getEndLine();
  795.               int error_column = input_stream.getEndColumn();
  796.               String error_after = null;
  797.               boolean EOFSeen = false;
  798.               try { input_stream.readChar(); input_stream.backup(1); }
  799.               catch (java.io.IOException e1) {
  800.                 EOFSeen = true;
  801.                 error_after = curPos <= 1 ? "" : input_stream.GetImage();
  802.                 if (curChar == 'n' || curChar == 'r') {
  803.                   error_line++;
  804.                   error_column = 0;
  805.                 }
  806.                 else
  807.                   error_column++;
  808.               }
  809.               if (!EOFSeen) {
  810.                 input_stream.backup(1);
  811.                 error_after = curPos <= 1 ? "" : input_stream.GetImage();
  812.               }
  813.               throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
  814.             }
  815.         }
  816.   }
  817.   void SkipLexicalActions(Token matchedToken)
  818.   {
  819.     switch(jjmatchedKind)
  820.       {
  821.       default :
  822.         break;
  823.       }
  824.   }
  825. }