⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 elparsertokenmanager.java

📁 业界著名的tomcat服务器的最新6.0的源代码。
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
/* Generated By:JJTree&JavaCC: Do not edit this line. ELParserTokenManager.java */
package org.apache.el.parser;

public class ELParserTokenManager implements ELParserConstants {
	public java.io.PrintStream debugStream = System.out;

	public void setDebugStream(java.io.PrintStream ds) {
		debugStream = ds;
	}

	private final int jjStopStringLiteralDfa_0(int pos, long active0) {
		switch (pos) {
		case 0:
			if ((active0 & 0x10L) != 0L)
				return 2;
			if ((active0 & 0x4L) != 0L) {
				jjmatchedKind = 1;
				return 4;
			}
			if ((active0 & 0x8L) != 0L) {
				jjmatchedKind = 1;
				return 6;
			}
			return -1;
		default:
			return -1;
		}
	}

	private final int jjStartNfa_0(int pos, long active0) {
		return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);
	}

	private final int jjStopAtPos(int pos, int kind) {
		jjmatchedKind = kind;
		jjmatchedPos = pos;
		return pos + 1;
	}

	private final int jjStartNfaWithStates_0(int pos, int kind, int state) {
		jjmatchedKind = kind;
		jjmatchedPos = pos;
		try {
			curChar = input_stream.readChar();
		} catch (java.io.IOException e) {
			return pos + 1;
		}
		return jjMoveNfa_0(state, pos + 1);
	}

	private final int jjMoveStringLiteralDfa0_0() {
		switch (curChar) {
		case 35:
			return jjMoveStringLiteralDfa1_0(0x8L);
		case 36:
			return jjMoveStringLiteralDfa1_0(0x4L);
		case 92:
			return jjStartNfaWithStates_0(0, 4, 2);
		default:
			return jjMoveNfa_0(7, 0);
		}
	}

	private final int jjMoveStringLiteralDfa1_0(long active0) {
		try {
			curChar = input_stream.readChar();
		} catch (java.io.IOException e) {
			jjStopStringLiteralDfa_0(0, active0);
			return 1;
		}
		switch (curChar) {
		case 123:
			if ((active0 & 0x4L) != 0L)
				return jjStopAtPos(1, 2);
			else if ((active0 & 0x8L) != 0L)
				return jjStopAtPos(1, 3);
			break;
		default:
			break;
		}
		return jjStartNfa_0(0, active0);
	}

	private final void jjCheckNAdd(int state) {
		if (jjrounds[state] != jjround) {
			jjstateSet[jjnewStateCnt++] = state;
			jjrounds[state] = jjround;
		}
	}

	private final void jjAddStates(int start, int end) {
		do {
			jjstateSet[jjnewStateCnt++] = jjnextStates[start];
		} while (start++ != end);
	}

	private final void jjCheckNAddTwoStates(int state1, int state2) {
		jjCheckNAdd(state1);
		jjCheckNAdd(state2);
	}

	private final void jjCheckNAddStates(int start, int end) {
		do {
			jjCheckNAdd(jjnextStates[start]);
		} while (start++ != end);
	}

	private final void jjCheckNAddStates(int start) {
		jjCheckNAdd(jjnextStates[start]);
		jjCheckNAdd(jjnextStates[start + 1]);
	}

	static final long[] jjbitVec0 = { 0xfffffffffffffffeL, 0xffffffffffffffffL,
			0xffffffffffffffffL, 0xffffffffffffffffL };

	static final long[] jjbitVec2 = { 0x0L, 0x0L, 0xffffffffffffffffL,
			0xffffffffffffffffL };

	private final int jjMoveNfa_0(int startState, int curPos) {
		int[] nextStates;
		int startsAt = 0;
		jjnewStateCnt = 8;
		int i = 1;
		jjstateSet[0] = startState;
		int j, kind = 0x7fffffff;
		for (;;) {
			if (++jjround == 0x7fffffff)
				ReInitRounds();
			if (curChar < 64) {
				long l = 1L << curChar;
				MatchLoop: do {
					switch (jjstateSet[--i]) {
					case 7:
						if ((0xffffffe7ffffffffL & l) != 0L) {
							if (kind > 1)
								kind = 1;
							jjCheckNAddStates(0, 3);
						} else if ((0x1800000000L & l) != 0L) {
							if (kind > 1)
								kind = 1;
						}
						if (curChar == 35)
							jjstateSet[jjnewStateCnt++] = 6;
						else if (curChar == 36)
							jjstateSet[jjnewStateCnt++] = 4;
						break;
					case 0:
						if ((0xffffffe7ffffffffL & l) == 0L)
							break;
						if (kind > 1)
							kind = 1;
						jjCheckNAddStates(0, 3);
						break;
					case 2:
						if ((0x1800000000L & l) == 0L)
							break;
						if (kind > 1)
							kind = 1;
						jjCheckNAddStates(0, 3);
						break;
					case 3:
						if (curChar == 36)
							jjstateSet[jjnewStateCnt++] = 4;
						break;
					case 4:
						if ((0xffffffefffffffffL & l) == 0L)
							break;
						if (kind > 1)
							kind = 1;
						jjCheckNAddStates(0, 3);
						break;
					case 5:
						if (curChar == 35)
							jjstateSet[jjnewStateCnt++] = 6;
						break;
					case 6:
						if ((0xfffffff7ffffffffL & l) == 0L)
							break;
						if (kind > 1)
							kind = 1;
						jjCheckNAddStates(0, 3);
						break;
					default:
						break;
					}
				} while (i != startsAt);
			} else if (curChar < 128) {
				long l = 1L << (curChar & 077);
				MatchLoop: do {
					switch (jjstateSet[--i]) {
					case 7:
						if ((0xffffffffefffffffL & l) != 0L) {
							if (kind > 1)
								kind = 1;
							jjCheckNAddStates(0, 3);
						} else if (curChar == 92)
							jjstateSet[jjnewStateCnt++] = 2;
						break;
					case 0:
						if ((0xffffffffefffffffL & l) == 0L)
							break;
						if (kind > 1)
							kind = 1;
						jjCheckNAddStates(0, 3);
						break;
					case 1:
						if (curChar == 92)
							jjstateSet[jjnewStateCnt++] = 2;
						break;
					case 2:
						if (curChar != 92)
							break;
						if (kind > 1)
							kind = 1;
						jjCheckNAddStates(0, 3);
						break;
					case 4:
					case 6:
						if ((0xf7ffffffffffffffL & l) == 0L)
							break;
						if (kind > 1)
							kind = 1;
						jjCheckNAddStates(0, 3);
						break;
					default:
						break;
					}
				} while (i != startsAt);
			} else {
				int hiByte = (int) (curChar >> 8);
				int i1 = hiByte >> 6;
				long l1 = 1L << (hiByte & 077);
				int i2 = (curChar & 0xff) >> 6;
				long l2 = 1L << (curChar & 077);
				MatchLoop: do {
					switch (jjstateSet[--i]) {
					case 7:
					case 0:
					case 4:
					case 6:
						if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
							break;
						if (kind > 1)
							kind = 1;
						jjCheckNAddStates(0, 3);
						break;
					default:
						break;
					}
				} while (i != startsAt);
			}
			if (kind != 0x7fffffff) {
				jjmatchedKind = kind;
				jjmatchedPos = curPos;
				kind = 0x7fffffff;
			}
			++curPos;
			if ((i = jjnewStateCnt) == (startsAt = 8 - (jjnewStateCnt = startsAt)))
				return curPos;
			try {
				curChar = input_stream.readChar();
			} catch (java.io.IOException e) {
				return curPos;
			}
		}
	}

	private final int jjStopStringLiteralDfa_1(int pos, long active0) {
		switch (pos) {
		case 0:
			if ((active0 & 0x141d555401c000L) != 0L) {
				jjmatchedKind = 53;
				return 41;
			}
			if ((active0 & 0x40000L) != 0L)
				return 1;
			return -1;
		case 1:
			if ((active0 & 0x41554000000L) != 0L)
				return 42;
			if ((active0 & 0x1419400001c000L) != 0L) {
				jjmatchedKind = 53;
				jjmatchedPos = 1;
				return 42;
			}
			return -1;
		case 2:
			if ((active0 & 0x14014000000000L) != 0L)
				return 42;
			if ((active0 & 0x18000001c000L) != 0L) {
				jjmatchedKind = 53;
				jjmatchedPos = 2;
				return 42;
			}
			return -1;
		case 3:
			if ((active0 & 0x14000L) != 0L)
				return 42;
			if ((active0 & 0x180000008000L) != 0L) {
				jjmatchedKind = 53;
				jjmatchedPos = 3;
				return 42;
			}
			return -1;
		case 4:
			if ((active0 & 0x80000008000L) != 0L)
				return 42;
			if ((active0 & 0x100000000000L) != 0L) {
				jjmatchedKind = 53;
				jjmatchedPos = 4;
				return 42;
			}
			return -1;
		case 5:
			if ((active0 & 0x100000000000L) != 0L) {
				jjmatchedKind = 53;
				jjmatchedPos = 5;
				return 42;
			}
			return -1;
		case 6:
			if ((active0 & 0x100000000000L) != 0L) {
				jjmatchedKind = 53;
				jjmatchedPos = 6;
				return 42;
			}
			return -1;
		case 7:
			if ((active0 & 0x100000000000L) != 0L) {
				jjmatchedKind = 53;
				jjmatchedPos = 7;
				return 42;
			}
			return -1;
		case 8:
			if ((active0 & 0x100000000000L) != 0L) {
				jjmatchedKind = 53;
				jjmatchedPos = 8;
				return 42;
			}
			return -1;
		default:
			return -1;
		}
	}

	private final int jjStartNfa_1(int pos, long active0) {
		return jjMoveNfa_1(jjStopStringLiteralDfa_1(pos, active0), pos + 1);
	}

	private final int jjStartNfaWithStates_1(int pos, int kind, int state) {
		jjmatchedKind = kind;
		jjmatchedPos = pos;
		try {
			curChar = input_stream.readChar();
		} catch (java.io.IOException e) {
			return pos + 1;
		}
		return jjMoveNfa_1(state, pos + 1);
	}

	private final int jjMoveStringLiteralDfa0_1() {
		switch (curChar) {
		case 33:
			jjmatchedKind = 37;
			return jjMoveStringLiteralDfa1_1(0x800000000L);
		case 37:
			return jjStopAtPos(0, 51);
		case 38:
			return jjMoveStringLiteralDfa1_1(0x8000000000L);
		case 40:
			return jjStopAtPos(0, 19);
		case 41:
			return jjStopAtPos(0, 20);
		case 42:
			return jjStopAtPos(0, 45);
		case 43:
			return jjStopAtPos(0, 46);
		case 44:
			return jjStopAtPos(0, 24);
		case 45:
			return jjStopAtPos(0, 47);
		case 46:
			return jjStartNfaWithStates_1(0, 18, 1);
		case 47:
			return jjStopAtPos(0, 49);
		case 58:
			return jjStopAtPos(0, 23);
		case 60:
			jjmatchedKind = 27;
			return jjMoveStringLiteralDfa1_1(0x80000000L);
		case 61:
			return jjMoveStringLiteralDfa1_1(0x200000000L);
		case 62:
			jjmatchedKind = 25;
			return jjMoveStringLiteralDfa1_1(0x20000000L);
		case 63:
			return jjStopAtPos(0, 48);
		case 91:
			return jjStopAtPos(0, 21);
		case 93:
			return jjStopAtPos(0, 22);
		case 97:
			return jjMoveStringLiteralDfa1_1(0x10000000000L);
		case 100:
			return jjMoveStringLiteralDfa1_1(0x4000000000000L);
		case 101:
			return jjMoveStringLiteralDfa1_1(0x80400000000L);
		case 102:
			return jjMoveStringLiteralDfa1_1(0x8000L);
		case 103:
			return jjMoveStringLiteralDfa1_1(0x44000000L);
		case 105:
			return jjMoveStringLiteralDfa1_1(0x100000000000L);
		case 108:
			return jjMoveStringLiteralDfa1_1(0x110000000L);
		case 109:
			return jjMoveStringLiteralDfa1_1(0x10000000000000L);
		case 110:
			return jjMoveStringLiteralDfa1_1(0x5000010000L);
		case 111:
			return jjMoveStringLiteralDfa1_1(0x40000000000L);
		case 116:
			return jjMoveStringLiteralDfa1_1(0x4000L);
		case 124:
			return jjMoveStringLiteralDfa1_1(0x20000000000L);
		case 125:
			return jjStopAtPos(0, 17);
		default:
			return jjMoveNfa_1(0, 0);
		}
	}

	private final int jjMoveStringLiteralDfa1_1(long active0) {
		try {
			curChar = input_stream.readChar();
		} catch (java.io.IOException e) {
			jjStopStringLiteralDfa_1(0, active0);
			return 1;
		}
		switch (curChar) {
		case 38:
			if ((active0 & 0x8000000000L) != 0L)
				return jjStopAtPos(1, 39);
			break;
		case 61:
			if ((active0 & 0x20000000L) != 0L)
				return jjStopAtPos(1, 29);
			else if ((active0 & 0x80000000L) != 0L)
				return jjStopAtPos(1, 31);
			else if ((active0 & 0x200000000L) != 0L)
				return jjStopAtPos(1, 33);
			else if ((active0 & 0x800000000L) != 0L)
				return jjStopAtPos(1, 35);
			break;
		case 97:
			return jjMoveStringLiteralDfa2_1(active0, 0x8000L);
		case 101:
			if ((active0 & 0x40000000L) != 0L)
				return jjStartNfaWithStates_1(1, 30, 42);
			else if ((active0 & 0x100000000L) != 0L)
				return jjStartNfaWithStates_1(1, 32, 42);
			else if ((active0 & 0x1000000000L) != 0L)
				return jjStartNfaWithStates_1(1, 36, 42);
			break;
		case 105:
			return jjMoveStringLiteralDfa2_1(active0, 0x4000000000000L);
		case 109:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -