📄 pythongrammartokenmanager.java
字号:
/* Generated By:JJTree&JavaCC: Do not edit this line. PythonGrammarTokenManager.java */package org.python.parser;import org.python.parser.ast.modType;public class PythonGrammarTokenManager implements PythonGrammarConstants{ int indentation[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; int level = 0; int dedents = 0; int parens = 0; int indent; boolean expect_indent = false; boolean compound = false; public boolean single_input = false; // parsing of partial sentence (interactive) mode public boolean partial = false; // control whether empty new lines on EOF force sentence closing NEWLINE even if indent // is expected,i.e. classic behavior at jython prompt (different from codeop behavior) public boolean stdprompt = false; public boolean generator_allowed = false; static Token addDedent(Token previous) { Token t = new Token(); t.kind = DEDENT; t.beginLine = previous.beginLine; t.endLine = previous.endLine; t.beginColumn = previous.beginColumn; t.endColumn = previous.endColumn; t.image = "<DEDENT>"; t.specialToken = null; t.next = null; previous.next = t; return t; } void CommonTokenAction(Token t) { /* if not partial: EOF is expanded to token sequences comprising if single_input: [NEWLINE] necessary DEDENT NEWLINE (afterward EOF) otherwise : [NEWLINE] necessary DEDENT EOF if partial: EOF expansion happens only if EOF preceded by empty line (etc), i.e. lexer is in MAYBE_FORCE_NEWLINE_IF_EOF state */ if (t.kind == EOF) { // System.out.println("EOF: "+single_input+", "+curLexState+", "+level); if (!partial || curLexState == MAYBE_FORCE_NEWLINE_IF_EOF) { if (curLexState == DEFAULT) { t.kind = NEWLINE; } else { t.kind = DEDENT; if (level >= 0) level -= 1; } while (level >= 0) { level--; t = addDedent(t); } if (!single_input) { t.kind = EOF; t.image = "<EOF>"; } else { t.kind = NEWLINE; t.image = "<FORCENL>"; single_input = false; } } } else if (t.kind == YIELD) { if (!generator_allowed) { t.kind = NAME; } } } void indenting(int ind) { indent = ind; if (indent == indentation[level]) SwitchTo(INDENTATION_UNCHANGED); else SwitchTo(INDENTING); } public java.io.PrintStream debugStream = System.out; public void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }private final int jjMoveStringLiteralDfa0_12(){ return 1;}private final int jjStopStringLiteralDfa_10(int pos, long active0, long active1){ switch (pos) { case 0: if ((active1 & 0x80000000000L) != 0L) { jjmatchedKind = 119; return -1; } return -1; case 1: if ((active1 & 0x80000000000L) != 0L) { if (jjmatchedPos == 0) { jjmatchedKind = 119; jjmatchedPos = 0; } return -1; } return -1; default : return -1; }}private final int jjStartNfa_10(int pos, long active0, long active1){ return jjMoveNfa_10(jjStopStringLiteralDfa_10(pos, active0, active1), pos + 1);}private final int jjStopAtPos(int pos, int kind){ jjmatchedKind = kind; jjmatchedPos = pos; return pos + 1;}private final int jjStartNfaWithStates_10(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_10(state, pos + 1);}private final int jjMoveStringLiteralDfa0_10(){ switch(curChar) { case 10: return jjStopAtPos(0, 117); case 13: jjmatchedKind = 118; return jjMoveStringLiteralDfa1_10(0x10000000000000L); case 34: return jjMoveStringLiteralDfa1_10(0x80000000000L); default : return jjMoveNfa_10(0, 0); }}private final int jjMoveStringLiteralDfa1_10(long active1){ try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_10(0, 0L, active1); return 1; } switch(curChar) { case 10: if ((active1 & 0x10000000000000L) != 0L) return jjStopAtPos(1, 116); break; case 34: return jjMoveStringLiteralDfa2_10(active1, 0x80000000000L); default : break; } return jjStartNfa_10(0, 0L, active1);}private final int jjMoveStringLiteralDfa2_10(long old1, long active1){ if (((active1 &= old1)) == 0L) return jjStartNfa_10(0, 0L, old1); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_10(1, 0L, active1); return 2; } switch(curChar) { case 34: if ((active1 & 0x80000000000L) != 0L) return jjStopAtPos(2, 107); break; default : break; } return jjStartNfa_10(1, 0L, active1);}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_10(int startState, int curPos){ int[] nextStates; int startsAt = 0; jjnewStateCnt = 3; 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 0: if ((0xffffffffffffdbffL & l) != 0L && kind > 119) kind = 119; break; case 2: if ((0xffffffffffffdbffL & l) != 0L && kind > 120) kind = 120; break; default : break; } } while(i != startsAt); } else if (curChar < 128) { long l = 1L << (curChar & 077); MatchLoop: do { switch(jjstateSet[--i]) { case 0: if (kind > 119) kind = 119; if (curChar == 92) jjstateSet[jjnewStateCnt++] = 2; break; case 1: if (curChar == 92) jjstateSet[jjnewStateCnt++] = 2; break; case 2: if (kind > 120) kind = 120; 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 0: if (jjCanMove_0(hiByte, i1, i2, l1, l2) && kind > 119) kind = 119; break; case 2: if (jjCanMove_0(hiByte, i1, i2, l1, l2) && kind > 120) kind = 120; break; default : break; } } while(i != startsAt); } if (kind != 0x7fffffff) { jjmatchedKind = kind; jjmatchedPos = curPos; kind = 0x7fffffff; } ++curPos; if ((i = jjnewStateCnt) == (startsAt = 3 - (jjnewStateCnt = startsAt))) return curPos; try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { return curPos; } }}private final int jjMoveStringLiteralDfa0_3(){ return 1;}private final int jjStopStringLiteralDfa_8(int pos, long active0, long active1){ switch (pos) { case 0: if ((active1 & 0x400000000000L) != 0L) { jjmatchedKind = 115; return 2; } return -1; case 1: if ((active1 & 0x400000000000L) != 0L) { jjmatchedKind = 111; jjmatchedPos = 1; return -1; } return -1; default : return -1; }}private final int jjStartNfa_8(int pos, long active0, long active1){ return jjMoveNfa_8(jjStopStringLiteralDfa_8(pos, active0, active1), pos + 1);}private final int jjStartNfaWithStates_8(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_8(state, pos + 1);}private final int jjMoveStringLiteralDfa0_8(){ switch(curChar) { case 34: return jjStopAtPos(0, 105); case 92: return jjMoveStringLiteralDfa1_8(0x400000000000L); default : return jjMoveNfa_8(0, 0); }}private final int jjMoveStringLiteralDfa1_8(long active1){ try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_8(0, 0L, active1); return 1; } switch(curChar) { case 13: return jjMoveStringLiteralDfa2_8(active1, 0x400000000000L); default : break; } return jjStartNfa_8(0, 0L, active1);}private final int jjMoveStringLiteralDfa2_8(long old1, long active1){ if (((active1 &= old1)) == 0L) return jjStartNfa_8(0, 0L, old1); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_8(1, 0L, active1); return 2; } switch(curChar) { case 10: if ((active1 & 0x400000000000L) != 0L) return jjStopAtPos(2, 110); break; default : break; } return jjStartNfa_8(1, 0L, active1);}private final int jjMoveNfa_8(int startState, int curPos){ int[] nextStates; int startsAt = 0; jjnewStateCnt = 4; 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 0: if ((0xffffffffffffdbffL & l) != 0L && kind > 115) kind = 115; break; case 2: if ((0x2400L & l) != 0L) { if (kind > 111) kind = 111; } else if (curChar == 34) { if (kind > 115) kind = 115; } break; case 3: if (curChar == 34 && kind > 115) kind = 115;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -