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

📄 pythongrammartokenmanager.java

📁 无线通信的主要编程软件,是无线通信工作人员的必备工具,关天相关教程我会在后续传上.
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
/* 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 + -