2 * Copyright 2004 The Apache Software Foundation
\r
4 * Licensed under the Apache License, Version 2.0 (the "License");
\r
5 * you may not use this file except in compliance with the License.
\r
6 * You may obtain a copy of the License at
\r
8 * http://www.apache.org/licenses/LICENSE-2.0
\r
10 * Unless required by applicable law or agreed to in writing, software
\r
11 * distributed under the License is distributed on an "AS IS" BASIS,
\r
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
13 * See the License for the specific language governing permissions and
\r
14 * limitations under the License.
\r
18 namespace Lucene.Net.Demo.Html
\r
21 public class HTMLParserTokenManager : HTMLParserConstants
\r
23 private void InitBlock()
\r
25 System.IO.StreamWriter temp_writer;
\r
26 temp_writer = new System.IO.StreamWriter(System.Console.OpenStandardOutput(), System.Console.Out.Encoding);
\r
27 temp_writer.AutoFlush = true;
\r
28 debugStream = temp_writer;
\r
30 public System.IO.StreamWriter debugStream;
\r
31 public virtual void SetDebugStream(System.IO.StreamWriter ds)
\r
35 private int jjStopStringLiteralDfa_0(int pos, long active0)
\r
41 if ((active0 & 0x32L) != 0L)
\r
46 if ((active0 & 0x30L) != 0L)
\r
48 if ((active0 & 0x2L) != 0L)
\r
50 if (jjmatchedPos != 1)
\r
60 if ((active0 & 0x2L) != 0L)
\r
69 if ((active0 & 0x2L) != 0L)
\r
78 if ((active0 & 0x2L) != 0L)
\r
87 if ((active0 & 0x2L) != 0L)
\r
100 private int jjStartNfa_0(int pos, long active0)
\r
102 return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);
\r
104 private int jjStopAtPos(int pos, int kind)
\r
106 jjmatchedKind = kind;
\r
107 jjmatchedPos = pos;
\r
110 private int jjStartNfaWithStates_0(int pos, int kind, int state)
\r
112 jjmatchedKind = kind;
\r
113 jjmatchedPos = pos;
\r
116 curChar = input_stream.ReadChar();
\r
118 catch (System.IO.IOException e)
\r
122 return jjMoveNfa_0(state, pos + 1);
\r
124 private int jjMoveStringLiteralDfa0_0()
\r
130 return jjMoveStringLiteralDfa1_0(0x32L);
\r
133 return jjMoveNfa_0(11, 0);
\r
137 private int jjMoveStringLiteralDfa1_0(long active0)
\r
141 curChar = input_stream.ReadChar();
\r
143 catch (System.IO.IOException e)
\r
145 jjStopStringLiteralDfa_0(0, active0);
\r
152 if ((active0 & 0x20L) != 0L)
\r
157 return jjMoveStringLiteralDfa2_0(active0, 0x10L);
\r
159 case (char) (115):
\r
160 return jjMoveStringLiteralDfa2_0(active0, 0x2L);
\r
166 return jjStartNfa_0(0, active0);
\r
168 private int jjMoveStringLiteralDfa2_0(long old0, long active0)
\r
170 if (((active0 &= old0)) == 0L)
\r
171 return jjStartNfa_0(0, old0);
\r
174 curChar = input_stream.ReadChar();
\r
176 catch (System.IO.IOException e)
\r
178 jjStopStringLiteralDfa_0(1, active0);
\r
185 return jjMoveStringLiteralDfa3_0(active0, 0x10L);
\r
188 return jjMoveStringLiteralDfa3_0(active0, 0x2L);
\r
194 return jjStartNfa_0(1, active0);
\r
196 private int jjMoveStringLiteralDfa3_0(long old0, long active0)
\r
198 if (((active0 &= old0)) == 0L)
\r
199 return jjStartNfa_0(1, old0);
\r
202 curChar = input_stream.ReadChar();
\r
204 catch (System.IO.IOException e)
\r
206 jjStopStringLiteralDfa_0(2, active0);
\r
213 if ((active0 & 0x10L) != 0L)
\r
214 return jjStopAtPos(3, 4);
\r
217 case (char) (114):
\r
218 return jjMoveStringLiteralDfa4_0(active0, 0x2L);
\r
224 return jjStartNfa_0(2, active0);
\r
226 private int jjMoveStringLiteralDfa4_0(long old0, long active0)
\r
228 if (((active0 &= old0)) == 0L)
\r
229 return jjStartNfa_0(2, old0);
\r
232 curChar = input_stream.ReadChar();
\r
234 catch (System.IO.IOException e)
\r
236 jjStopStringLiteralDfa_0(3, active0);
\r
242 case (char) (105):
\r
243 return jjMoveStringLiteralDfa5_0(active0, 0x2L);
\r
249 return jjStartNfa_0(3, active0);
\r
251 private int jjMoveStringLiteralDfa5_0(long old0, long active0)
\r
253 if (((active0 &= old0)) == 0L)
\r
254 return jjStartNfa_0(3, old0);
\r
257 curChar = input_stream.ReadChar();
\r
259 catch (System.IO.IOException e)
\r
261 jjStopStringLiteralDfa_0(4, active0);
\r
267 case (char) (112):
\r
268 return jjMoveStringLiteralDfa6_0(active0, 0x2L);
\r
274 return jjStartNfa_0(4, active0);
\r
276 private int jjMoveStringLiteralDfa6_0(long old0, long active0)
\r
278 if (((active0 &= old0)) == 0L)
\r
279 return jjStartNfa_0(4, old0);
\r
282 curChar = input_stream.ReadChar();
\r
284 catch (System.IO.IOException e)
\r
286 jjStopStringLiteralDfa_0(5, active0);
\r
292 case (char) (116):
\r
293 if ((active0 & 0x2L) != 0L)
\r
294 return jjStartNfaWithStates_0(6, 1, 20);
\r
301 return jjStartNfa_0(5, active0);
\r
303 private void jjCheckNAdd(int state)
\r
305 if (jjrounds[state] != jjround)
\r
307 jjstateSet[jjnewStateCnt++] = state;
\r
308 jjrounds[state] = jjround;
\r
311 private void jjAddStates(int start, int end)
\r
315 jjstateSet[jjnewStateCnt++] = jjnextStates[start];
\r
317 while (start++ != end);
\r
319 private void jjCheckNAddTwoStates(int state1, int state2)
\r
321 jjCheckNAdd(state1);
\r
322 jjCheckNAdd(state2);
\r
324 private void jjCheckNAddStates(int start, int end)
\r
328 jjCheckNAdd(jjnextStates[start]);
\r
330 while (start++ != end);
\r
332 private void jjCheckNAddStates(int start)
\r
334 jjCheckNAdd(jjnextStates[start]);
\r
335 jjCheckNAdd(jjnextStates[start + 1]);
\r
337 internal static readonly ulong[] jjbitVec0 = new ulong[]{0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL};
\r
338 private int jjMoveNfa_0(int startState, int curPos)
\r
342 jjnewStateCnt = 25;
\r
344 jjstateSet[0] = startState;
\r
345 int j, kind = 0x7fffffff;
\r
348 if (++jjround == 0x7fffffff)
\r
352 ulong l = ((ulong) 1L) << curChar;
\r\r
356 switch (jjstateSet[--i])
\r
360 if ((0x3ff000000000000L & l) != 0L)
\r
361 jjCheckNAddTwoStates(7, 2);
\r
362 else if ((0x100002600L & l) != 0L)
\r
368 else if (curChar == 60)
\r
369 jjCheckNAddStates(0, 2);
\r
370 else if (curChar == 38)
\r
372 else if (curChar == 36)
\r
373 jjstateSet[jjnewStateCnt++] = 1;
\r
374 if ((0x3ff000000000000L & l) != 0L)
\r
378 jjCheckNAddStates(5, 9);
\r
384 jjstateSet[jjnewStateCnt++] = 22;
\r
385 else if (curChar == 47)
\r
391 jjstateSet[jjnewStateCnt++] = 1;
\r
395 if ((0x3ff000000000000L & l) != 0L)
\r
400 if ((0x500000000000L & l) != 0L)
\r
401 jjstateSet[jjnewStateCnt++] = 3;
\r
406 if ((0x3ff000000000000L & l) == 0L)
\r
410 jjCheckNAddStates(10, 12);
\r
414 if ((0x3ff000000000000L & l) == 0L)
\r
418 jjCheckNAddStates(5, 9);
\r
422 if ((0x880000000000L & l) == 0L)
\r
426 jjCheckNAddStates(13, 16);
\r
430 if ((0x3ff000000000000L & l) != 0L)
\r
431 jjCheckNAddTwoStates(7, 2);
\r
439 jjCheckNAddStates(10, 12);
\r
443 if ((0x208000000000L & l) != 0L)
\r
444 jjstateSet[jjnewStateCnt++] = 9;
\r
448 if ((0x100002600L & l) == 0L)
\r
455 if (curChar == 59 && kind > 9)
\r
465 if ((0x3ff000000000000L & l) == 0L)
\r
469 jjCheckNAddTwoStates(15, 13);
\r
474 jjCheckNAddStates(0, 2);
\r
478 if ((0x9fffff7affffd9ffL & l) == 0L)
\r
486 if ((0x9ffffffeffffd9ffL & l) == 0L)
\r
495 jjstateSet[jjnewStateCnt++] = 22;
\r
499 if ((0x9fffff7affffd9ffL & l) == 0L)
\r
507 if ((0x9ffffffeffffd9ffL & l) == 0L)
\r
518 while (i != startsAt);
\r
520 else if (curChar < 128)
\r
522 ulong l = ((ulong) 1L) << (curChar & 63);
\r\r
526 switch (jjstateSet[--i])
\r
531 if ((0x7fffffe07fffffeL & l) == 0L)
\r
535 jjCheckNAddStates(5, 9);
\r
540 if ((0x7fffffe07fffffeL & l) == 0L)
\r
544 jjstateSet[jjnewStateCnt++] = 19;
\r
548 if ((0x7fffffe07fffffeL & l) == 0L)
\r
552 jjCheckNAddStates(10, 12);
\r
556 if ((0x7fffffe07fffffeL & l) == 0L)
\r
560 jjAddStates(17, 18);
\r
571 if ((0x7fffffe07fffffeL & l) == 0L)
\r
575 jjstateSet[jjnewStateCnt++] = 23;
\r
589 while (i != startsAt);
\r
593 int i2 = (curChar & 0xff) >> 6;
\r
594 ulong l2 = ((ulong) 1L) << (curChar & 63);
\r\r
598 switch (jjstateSet[--i])
\r
603 if ((jjbitVec0[i2] & l2) == 0L)
\r
612 if ((jjbitVec0[i2] & l2) == 0L)
\r
623 while (i != startsAt);
\r
625 if (kind != 0x7fffffff)
\r
627 jjmatchedKind = kind;
\r
628 jjmatchedPos = curPos;
\r
632 if ((i = jjnewStateCnt) == (startsAt = 25 - (jjnewStateCnt = startsAt)))
\r
636 curChar = input_stream.ReadChar();
\r
638 catch (System.IO.IOException e)
\r
644 private int jjMoveStringLiteralDfa0_5()
\r
646 return jjMoveNfa_5(1, 0);
\r
648 private int jjMoveNfa_5(int startState, int curPos)
\r
654 jjstateSet[0] = startState;
\r
655 int j, kind = 0x7fffffff;
\r
658 if (++jjround == 0x7fffffff)
\r
662 ulong l = ((ulong) 1L) << curChar;
\r\r
666 switch (jjstateSet[--i])
\r
670 if ((0xfffffffbffffffffL & l) != 0L)
\r
676 else if (curChar == 34)
\r
684 if ((0xfffffffbffffffffL & l) == 0L)
\r
694 while (i != startsAt);
\r
696 else if (curChar < 128)
\r
698 ulong l = ((ulong) 1L) << (curChar & 63);
\r\r
702 switch (jjstateSet[--i])
\r
715 while (i != startsAt);
\r
719 int i2 = (curChar & 0xff) >> 6;
\r
720 ulong l2 = ((ulong) 1L) << (curChar & 63);
\r\r
724 switch (jjstateSet[--i])
\r
729 if ((jjbitVec0[i2] & l2) == 0L)
\r
740 while (i != startsAt);
\r
742 if (kind != 0x7fffffff)
\r
744 jjmatchedKind = kind;
\r
745 jjmatchedPos = curPos;
\r
749 if ((i = jjnewStateCnt) == (startsAt = 2 - (jjnewStateCnt = startsAt)))
\r
753 curChar = input_stream.ReadChar();
\r
755 catch (System.IO.IOException e)
\r
761 private int jjStopStringLiteralDfa_7(int pos, long active0)
\r
771 private int jjStartNfa_7(int pos, long active0)
\r
773 return jjMoveNfa_7(jjStopStringLiteralDfa_7(pos, active0), pos + 1);
\r
775 private int jjStartNfaWithStates_7(int pos, int kind, int state)
\r
777 jjmatchedKind = kind;
\r
778 jjmatchedPos = pos;
\r
781 curChar = input_stream.ReadChar();
\r
783 catch (System.IO.IOException e)
\r
787 return jjMoveNfa_7(state, pos + 1);
\r
789 private int jjMoveStringLiteralDfa0_7()
\r
795 return jjStopAtPos(0, 29);
\r
798 return jjMoveNfa_7(0, 0);
\r
802 private int jjMoveNfa_7(int startState, int curPos)
\r
808 jjstateSet[0] = startState;
\r
809 int j, kind = 0x7fffffff;
\r
812 if (++jjround == 0x7fffffff)
\r
816 ulong l = ((ulong) 1L) << curChar;
\r\r
820 switch (jjstateSet[--i])
\r
824 if ((0xbfffffffffffffffL & l) == 0L)
\r
827 jjstateSet[jjnewStateCnt++] = 0;
\r
834 while (i != startsAt);
\r
836 else if (curChar < 128)
\r
838 ulong l = ((ulong) 1L) << (curChar & 63);
\r\r
842 switch (jjstateSet[--i])
\r
847 jjstateSet[jjnewStateCnt++] = 0;
\r
854 while (i != startsAt);
\r
858 int i2 = (curChar & 0xff) >> 6;
\r
859 ulong l2 = ((ulong) 1L) << (curChar & 63);
\r\r
863 switch (jjstateSet[--i])
\r
867 if ((jjbitVec0[i2] & l2) == 0L)
\r
871 jjstateSet[jjnewStateCnt++] = 0;
\r
878 while (i != startsAt);
\r
880 if (kind != 0x7fffffff)
\r
882 jjmatchedKind = kind;
\r
883 jjmatchedPos = curPos;
\r
887 if ((i = jjnewStateCnt) == (startsAt = 1 - (jjnewStateCnt = startsAt)))
\r
891 curChar = input_stream.ReadChar();
\r
893 catch (System.IO.IOException e)
\r
899 private int jjMoveStringLiteralDfa0_4()
\r
901 return jjMoveNfa_4(1, 0);
\r
903 private int jjMoveNfa_4(int startState, int curPos)
\r
909 jjstateSet[0] = startState;
\r
910 int j, kind = 0x7fffffff;
\r
913 if (++jjround == 0x7fffffff)
\r
917 ulong l = ((ulong) 1L) << curChar;
\r\r
921 switch (jjstateSet[--i])
\r
925 if ((0xffffff7fffffffffL & l) != 0L)
\r
931 else if (curChar == 39)
\r
939 if ((0xffffff7fffffffffL & l) == 0L)
\r
949 while (i != startsAt);
\r
951 else if (curChar < 128)
\r
953 ulong l = ((ulong) 1L) << (curChar & 63);
\r\r
957 switch (jjstateSet[--i])
\r
970 while (i != startsAt);
\r
974 int i2 = (curChar & 0xff) >> 6;
\r
975 ulong l2 = ((ulong) 1L) << (curChar & 63);
\r\r
979 switch (jjstateSet[--i])
\r
984 if ((jjbitVec0[i2] & l2) == 0L)
\r
995 while (i != startsAt);
\r
997 if (kind != 0x7fffffff)
\r
999 jjmatchedKind = kind;
\r
1000 jjmatchedPos = curPos;
\r
1001 kind = 0x7fffffff;
\r
1004 if ((i = jjnewStateCnt) == (startsAt = 2 - (jjnewStateCnt = startsAt)))
\r
1008 curChar = input_stream.ReadChar();
\r
1010 catch (System.IO.IOException e)
\r
1016 private int jjStopStringLiteralDfa_3(int pos, long active0)
\r
1026 private int jjStartNfa_3(int pos, long active0)
\r
1028 return jjMoveNfa_3(jjStopStringLiteralDfa_3(pos, active0), pos + 1);
\r
1030 private int jjStartNfaWithStates_3(int pos, int kind, int state)
\r
1032 jjmatchedKind = kind;
\r
1033 jjmatchedPos = pos;
\r
1036 curChar = input_stream.ReadChar();
\r
1038 catch (System.IO.IOException e)
\r
1042 return jjMoveNfa_3(state, pos + 1);
\r
1044 private int jjMoveStringLiteralDfa0_3()
\r
1049 case (char) (34):
\r
1050 return jjStopAtPos(0, 20);
\r
1052 case (char) (39):
\r
1053 return jjStopAtPos(0, 19);
\r
1056 return jjMoveNfa_3(0, 0);
\r
1060 private int jjMoveNfa_3(int startState, int curPos)
\r
1064 jjnewStateCnt = 3;
\r
1066 jjstateSet[0] = startState;
\r
1067 int j, kind = 0x7fffffff;
\r
1070 if (++jjround == 0x7fffffff)
\r
1074 ulong l = ((ulong) 1L) << (int) curChar;
\r\r
1078 switch (jjstateSet[--i])
\r
1082 if ((0x9fffff7affffd9ffL & l) != 0L)
\r
1088 else if ((0x100002600L & l) != 0L)
\r
1097 if ((0xbffffffeffffd9ffL & l) == 0L)
\r
1105 if ((0x100002600L & l) == 0L)
\r
1115 while (i != startsAt);
\r
1117 else if (curChar < 128)
\r
1119 ulong l = ((ulong) 1L) << (curChar & 63);
\r\r
1123 switch (jjstateSet[--i])
\r
1137 while (i != startsAt);
\r
1141 int i2 = (curChar & 0xff) >> 6;
\r
1142 ulong l2 = ((ulong) 1L) << (curChar & 63);
\r\r
1146 switch (jjstateSet[--i])
\r
1151 if ((jjbitVec0[i2] & l2) == 0L)
\r
1162 while (i != startsAt);
\r
1164 if (kind != 0x7fffffff)
\r
1166 jjmatchedKind = kind;
\r
1167 jjmatchedPos = curPos;
\r
1168 kind = 0x7fffffff;
\r
1171 if ((i = jjnewStateCnt) == (startsAt = 3 - (jjnewStateCnt = startsAt)))
\r
1175 curChar = input_stream.ReadChar();
\r
1177 catch (System.IO.IOException e)
\r
1183 private int jjStopStringLiteralDfa_6(int pos, long active0)
\r
1189 if ((active0 & 0x8000000L) != 0L)
\r
1191 jjmatchedKind = 26;
\r
1197 if ((active0 & 0x8000000L) != 0L)
\r
1199 if (jjmatchedPos == 0)
\r
1201 jjmatchedKind = 26;
\r
1213 private int jjStartNfa_6(int pos, long active0)
\r
1215 return jjMoveNfa_6(jjStopStringLiteralDfa_6(pos, active0), pos + 1);
\r
1217 private int jjStartNfaWithStates_6(int pos, int kind, int state)
\r
1219 jjmatchedKind = kind;
\r
1220 jjmatchedPos = pos;
\r
1223 curChar = input_stream.ReadChar();
\r
1225 catch (System.IO.IOException e)
\r
1229 return jjMoveNfa_6(state, pos + 1);
\r
1231 private int jjMoveStringLiteralDfa0_6()
\r
1236 case (char) (45):
\r
1237 return jjMoveStringLiteralDfa1_6(0x8000000L);
\r
1240 return jjMoveNfa_6(1, 0);
\r
1244 private int jjMoveStringLiteralDfa1_6(long active0)
\r
1248 curChar = input_stream.ReadChar();
\r
1250 catch (System.IO.IOException e)
\r
1252 jjStopStringLiteralDfa_6(0, active0);
\r
1258 case (char) (45):
\r
1259 return jjMoveStringLiteralDfa2_6(active0, 0x8000000L);
\r
1265 return jjStartNfa_6(0, active0);
\r
1267 private int jjMoveStringLiteralDfa2_6(long old0, long active0)
\r
1269 if (((active0 &= old0)) == 0L)
\r
1270 return jjStartNfa_6(0, old0);
\r
1273 curChar = input_stream.ReadChar();
\r
1275 catch (System.IO.IOException e)
\r
1277 jjStopStringLiteralDfa_6(1, active0);
\r
1283 case (char) (62):
\r
1284 if ((active0 & 0x8000000L) != 0L)
\r
1285 return jjStopAtPos(2, 27);
\r
1292 return jjStartNfa_6(1, active0);
\r
1294 private int jjMoveNfa_6(int startState, int curPos)
\r
1298 jjnewStateCnt = 2;
\r
1300 jjstateSet[0] = startState;
\r
1301 int j, kind = 0x7fffffff;
\r
1304 if (++jjround == 0x7fffffff)
\r
1308 ulong l = ((ulong) 1L) << curChar;
\r\r
1312 switch (jjstateSet[--i])
\r
1316 if ((0xffffdfffffffffffL & l) != 0L)
\r
1322 else if (curChar == 45)
\r
1330 if ((0xffffdfffffffffffL & l) == 0L)
\r
1340 while (i != startsAt);
\r
1342 else if (curChar < 128)
\r
1344 ulong l = ((ulong) 1L) << (curChar & 63);
\r\r
1348 switch (jjstateSet[--i])
\r
1361 while (i != startsAt);
\r
1365 int i2 = (curChar & 0xff) >> 6;
\r
1366 ulong l2 = ((ulong) 1L) << (curChar & 63);
\r\r
1370 switch (jjstateSet[--i])
\r
1375 if ((jjbitVec0[i2] & l2) == 0L)
\r
1386 while (i != startsAt);
\r
1388 if (kind != 0x7fffffff)
\r
1390 jjmatchedKind = kind;
\r
1391 jjmatchedPos = curPos;
\r
1392 kind = 0x7fffffff;
\r
1395 if ((i = jjnewStateCnt) == (startsAt = 2 - (jjnewStateCnt = startsAt)))
\r
1399 curChar = input_stream.ReadChar();
\r
1401 catch (System.IO.IOException e)
\r
1407 private int jjMoveStringLiteralDfa0_1()
\r
1409 return jjMoveNfa_1(1, 0);
\r
1411 private int jjMoveNfa_1(int startState, int curPos)
\r
1415 jjnewStateCnt = 12;
\r
1417 jjstateSet[0] = startState;
\r
1418 int j, kind = 0x7fffffff;
\r
1421 if (++jjround == 0x7fffffff)
\r
1425 ulong l = ((ulong) 1L) << curChar;
\r\r
1429 switch (jjstateSet[--i])
\r
1433 if ((0xafffffffffffffffL & l) != 0L)
\r
1439 else if ((0x5000000000000000L & l) != 0L)
\r
1444 if (curChar == 60)
\r
1445 jjstateSet[jjnewStateCnt++] = 10;
\r
1449 if ((0xafffffffffffffffL & l) == 0L)
\r
1457 if ((0xafffffffffffffffL & l) != 0L)
\r
1458 jjAddStates(19, 20);
\r
1462 if (curChar == 62 && kind > 14)
\r
1467 if (curChar == 47)
\r
1468 jjstateSet[jjnewStateCnt++] = 9;
\r
1472 if (curChar == 60)
\r
1473 jjstateSet[jjnewStateCnt++] = 10;
\r
1480 while (i != startsAt);
\r
1482 else if (curChar < 128)
\r
1484 ulong l = ((ulong) 1L) << (curChar & 63);
\r\r
1488 switch (jjstateSet[--i])
\r
1499 if (curChar == 116)
\r
1500 jjCheckNAddTwoStates(3, 4);
\r
1504 jjCheckNAddTwoStates(3, 4);
\r
1508 if (curChar == 112)
\r
1509 jjstateSet[jjnewStateCnt++] = 2;
\r
1513 if (curChar == 105)
\r
1514 jjstateSet[jjnewStateCnt++] = 5;
\r
1518 if (curChar == 114)
\r
1519 jjstateSet[jjnewStateCnt++] = 6;
\r
1523 if (curChar == 99)
\r
1524 jjstateSet[jjnewStateCnt++] = 7;
\r
1528 if (curChar == 115)
\r
1529 jjstateSet[jjnewStateCnt++] = 8;
\r
1536 while (i != startsAt);
\r
1540 int i2 = (curChar & 0xff) >> 6;
\r
1541 ulong l2 = ((ulong) 1L) << (curChar & 63);
\r\r
1545 switch (jjstateSet[--i])
\r
1550 if ((jjbitVec0[i2] & l2) == 0L)
\r
1558 if ((jjbitVec0[i2] & l2) != 0L)
\r
1559 jjAddStates(19, 20);
\r
1566 while (i != startsAt);
\r
1568 if (kind != 0x7fffffff)
\r
1570 jjmatchedKind = kind;
\r
1571 jjmatchedPos = curPos;
\r
1572 kind = 0x7fffffff;
\r
1575 if ((i = jjnewStateCnt) == (startsAt = 12 - (jjnewStateCnt = startsAt)))
\r
1579 curChar = input_stream.ReadChar();
\r
1581 catch (System.IO.IOException e)
\r
1587 private int jjStopStringLiteralDfa_2(int pos, long active0)
\r
1597 private int jjStartNfa_2(int pos, long active0)
\r
1599 return jjMoveNfa_2(jjStopStringLiteralDfa_2(pos, active0), pos + 1);
\r
1601 private int jjStartNfaWithStates_2(int pos, int kind, int state)
\r
1603 jjmatchedKind = kind;
\r
1604 jjmatchedPos = pos;
\r
1607 curChar = input_stream.ReadChar();
\r
1609 catch (System.IO.IOException e)
\r
1613 return jjMoveNfa_2(state, pos + 1);
\r
1615 private int jjMoveStringLiteralDfa0_2()
\r
1620 case (char) (34):
\r
1621 return jjStopAtPos(0, 20);
\r
1623 case (char) (39):
\r
1624 return jjStopAtPos(0, 19);
\r
1626 case (char) (61):
\r
1627 return jjStartNfaWithStates_2(0, 16, 3);
\r
1630 return jjMoveNfa_2(0, 0);
\r
1634 private int jjMoveNfa_2(int startState, int curPos)
\r
1638 jjnewStateCnt = 6;
\r
1640 jjstateSet[0] = startState;
\r
1641 int j, kind = 0x7fffffff;
\r
1644 if (++jjround == 0x7fffffff)
\r
1648 ulong l = ((ulong) 1L) << curChar;
\r\r
1652 switch (jjstateSet[--i])
\r
1656 if ((0x9fffff7affffd9ffL & l) != 0L)
\r
1662 else if ((0x100002600L & l) != 0L)
\r
1668 else if (curChar == 61)
\r
1669 jjstateSet[jjnewStateCnt++] = 3;
\r
1670 else if (curChar == 62)
\r
1678 if ((0x9ffffffeffffd9ffL & l) == 0L)
\r
1687 if (curChar == 62 && kind > 17)
\r
1692 if (curChar == 61)
\r
1693 jjstateSet[jjnewStateCnt++] = 3;
\r
1697 if ((0x100002600L & l) == 0L)
\r
1707 while (i != startsAt);
\r
1709 else if (curChar < 128)
\r
1711 ulong l = ((ulong) 1L) << (curChar & 63);
\r\r
1715 switch (jjstateSet[--i])
\r
1729 while (i != startsAt);
\r
1733 int i2 = (curChar & 0xff) >> 6;
\r
1734 ulong l2 = ((ulong) 1L) << (curChar & 63);
\r\r
1738 switch (jjstateSet[--i])
\r
1743 if ((jjbitVec0[i2] & l2) == 0L)
\r
1754 while (i != startsAt);
\r
1756 if (kind != 0x7fffffff)
\r
1758 jjmatchedKind = kind;
\r
1759 jjmatchedPos = curPos;
\r
1760 kind = 0x7fffffff;
\r
1763 if ((i = jjnewStateCnt) == (startsAt = 6 - (jjnewStateCnt = startsAt)))
\r
1767 curChar = input_stream.ReadChar();
\r
1769 catch (System.IO.IOException e)
\r
1775 internal static readonly int[] jjnextStates = new int[]{17, 18, 21, 12, 14, 5, 8, 0, 4, 6, 0, 4, 6, 5, 0, 4, 6, 12, 13, 3, 4};
\r
1776 public static readonly System.String[] jjstrLiteralImages = new System.String[]{"", "\x003C\x0073\x0063\x0072\x0069\x0070\x0074", null, null, "\x003C\x0021\x002D\x002D", "\x003C\x0021", null, null, null, null, null, null, null, null, null, null, "\x003D", null, null, "\x0027", "\x0022", null, null, null, null, null, null, "\x002D\x002D\x003E", null, "\x003E"};
\r
1777 public static readonly System.String[] lexStateNames = new System.String[]{"DEFAULT", "WithinScript", "WithinTag", "AfterEquals", "WithinQuote1", "WithinQuote2", "WithinComment1", "WithinComment2"};
\r
1778 public static readonly int[] jjnewLexState = new int[]{-1, 1, 2, 2, 6, 7, -1, -1, - 1, -1, -1, -1, -1, -1, 0, -1, 3, 0, 2, 4, 5, -1, -1, 2, -1, 2, -1, 0, -1, 0};
\r
1779 internal static readonly long[] jjtoToken = new long[]{0x3fdff67fL};
\r
1780 internal static readonly long[] jjtoSkip = new long[]{0x200000L};
\r
1781 protected internal SimpleCharStream input_stream;
\r
1782 private uint[] jjrounds = new uint[25];
\r
1783 private int[] jjstateSet = new int[50];
\r
1784 protected internal char curChar;
\r
1785 public HTMLParserTokenManager(SimpleCharStream stream)
\r
1788 if (SimpleCharStream.staticFlag)
\r
1789 throw new System.ApplicationException("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
\r
1790 input_stream = stream;
\r
1792 public HTMLParserTokenManager(SimpleCharStream stream, int lexState):this(stream)
\r
1794 SwitchTo(lexState);
\r
1796 public virtual void ReInit(SimpleCharStream stream)
\r
1798 jjmatchedPos = jjnewStateCnt = 0;
\r
1799 curLexState = defaultLexState;
\r
1800 input_stream = stream;
\r
1803 private void ReInitRounds()
\r
1806 jjround = 0x80000001;
\r
1807 for (i = 25; i-- > 0; )
\r
1808 jjrounds[i] = 0x80000000;
\r
1810 public virtual void ReInit(SimpleCharStream stream, int lexState)
\r
1813 SwitchTo(lexState);
\r
1815 public virtual void SwitchTo(int lexState)
\r
1817 if (lexState >= 8 || lexState < 0)
\r
1818 throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
\r
1820 curLexState = lexState;
\r
1823 protected internal virtual Token jjFillToken()
\r
1825 Token t = Token.newToken(jjmatchedKind);
\r
1826 t.kind = jjmatchedKind;
\r
1827 System.String im = jjstrLiteralImages[jjmatchedKind];
\r
1828 t.image = (im == null)?input_stream.GetImage():im;
\r
1829 t.beginLine = input_stream.GetBeginLine();
\r
1830 t.beginColumn = input_stream.GetBeginColumn();
\r
1831 t.endLine = input_stream.GetEndLine();
\r
1832 t.endColumn = input_stream.GetEndColumn();
\r
1836 internal int curLexState = 0;
\r
1837 internal int defaultLexState = 0;
\r
1838 internal int jjnewStateCnt;
\r
1839 internal uint jjround;
\r
1840 internal int jjmatchedPos;
\r
1841 internal int jjmatchedKind;
\r
1843 public virtual Token GetNextToken()
\r
1846 Token specialToken = null;
\r
1847 Token matchedToken;
\r
1854 curChar = input_stream.BeginToken();
\r
1856 catch (System.IO.IOException e)
\r
1858 jjmatchedKind = 0;
\r
1859 matchedToken = jjFillToken();
\r
1860 return matchedToken;
\r
1863 switch (curLexState)
\r
1867 jjmatchedKind = 0x7fffffff;
\r
1869 curPos = jjMoveStringLiteralDfa0_0();
\r
1870 if (jjmatchedPos == 0 && jjmatchedKind > 12)
\r
1872 jjmatchedKind = 12;
\r
1877 jjmatchedKind = 0x7fffffff;
\r
1879 curPos = jjMoveStringLiteralDfa0_1();
\r
1883 jjmatchedKind = 0x7fffffff;
\r
1885 curPos = jjMoveStringLiteralDfa0_2();
\r
1889 jjmatchedKind = 0x7fffffff;
\r
1891 curPos = jjMoveStringLiteralDfa0_3();
\r
1895 jjmatchedKind = 0x7fffffff;
\r
1897 curPos = jjMoveStringLiteralDfa0_4();
\r
1901 jjmatchedKind = 0x7fffffff;
\r
1903 curPos = jjMoveStringLiteralDfa0_5();
\r
1907 jjmatchedKind = 0x7fffffff;
\r
1909 curPos = jjMoveStringLiteralDfa0_6();
\r
1913 jjmatchedKind = 0x7fffffff;
\r
1915 curPos = jjMoveStringLiteralDfa0_7();
\r
1918 if (jjmatchedKind != 0x7fffffff)
\r
1920 if (jjmatchedPos + 1 < curPos)
\r
1921 input_stream.Backup(curPos - jjmatchedPos - 1);
\r
1922 if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 63))) != 0L)
\r
1924 matchedToken = jjFillToken();
\r
1925 if (jjnewLexState[jjmatchedKind] != - 1)
\r
1926 curLexState = jjnewLexState[jjmatchedKind];
\r
1927 return matchedToken;
\r
1931 if (jjnewLexState[jjmatchedKind] != - 1)
\r
1932 curLexState = jjnewLexState[jjmatchedKind];
\r
1936 int error_line = input_stream.GetEndLine();
\r
1937 int error_column = input_stream.GetEndColumn();
\r
1938 System.String error_after = null;
\r
1939 bool EOFSeen = false;
\r
1942 input_stream.ReadChar(); input_stream.Backup(1);
\r
1944 catch (System.IO.IOException e1)
\r
1947 error_after = curPos <= 1?"":input_stream.GetImage();
\r
1948 if (curChar == '\n' || curChar == '\r')
\r
1958 input_stream.Backup(1);
\r
1959 error_after = curPos <= 1?"":input_stream.GetImage();
\r
1961 throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
\r