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