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