expressionparser.java

来自「jpda例子文件」· Java 代码 · 共 2,349 行 · 第 1/5 页

JAVA
2,349
字号
    case FALSE:    case TRUE:      BooleanLiteral();                          push(LValue.makeBoolean(vm, token));      break;    case NULL:      NullLiteral();                          push(LValue.makeNull(vm, token));      break;    default:      jj_la1[38] = jj_gen;      jj_consume_token(-1);      throw new ParseException();    }  }  final public void BooleanLiteral() throws ParseException {    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {    case TRUE:      jj_consume_token(TRUE);      break;    case FALSE:      jj_consume_token(FALSE);      break;    default:      jj_la1[39] = jj_gen;      jj_consume_token(-1);      throw new ParseException();    }  }  final public void NullLiteral() throws ParseException {    jj_consume_token(NULL);  }  final public List Arguments() throws ParseException { List argList = new ArrayList();    jj_consume_token(LPAREN);    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {    case FALSE:    case NEW:    case NULL:    case SUPER:    case THIS:    case TRUE:    case INTEGER_LITERAL:    case FLOATING_POINT_LITERAL:    case CHARACTER_LITERAL:    case STRING_LITERAL:    case IDENTIFIER:    case LPAREN:    case BANG:    case TILDE:    case INCR:    case DECR:    case PLUS:    case MINUS:      ArgumentList(argList);      break;    default:      jj_la1[40] = jj_gen;      ;    }    jj_consume_token(RPAREN);    {if (true) return argList;}    throw new Error("Missing return statement in function");  }  final public void ArgumentList(List argList) throws ParseException {    Expression();                argList.add(pop().interiorGetValue());    label_17:    while (true) {      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {      case COMMA:        ;        break;      default:        jj_la1[41] = jj_gen;        break label_17;      }      jj_consume_token(COMMA);      Expression();                      argList.add(pop().interiorGetValue());    }  }  final public void AllocationExpression() throws ParseException { List argList; String className;    if (jj_2_7(2)) {      jj_consume_token(NEW);      PrimitiveType();      ArrayDimensions();    } else {      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {      case NEW:        jj_consume_token(NEW);        className = Name();        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {        case LPAREN:          argList = Arguments();                          push(LValue.makeNewObject(vm, frameGetter, className, argList));          break;        case LBRACKET:          ArrayDimensions();                          {if (true) throw new ParseException("operation not yet supported");}          break;        default:          jj_la1[42] = jj_gen;          jj_consume_token(-1);          throw new ParseException();        }        break;      default:        jj_la1[43] = jj_gen;        jj_consume_token(-1);        throw new ParseException();      }    }  }/* * The second LOOKAHEAD specification below is to parse to PrimarySuffix * if there is an expression between the "[...]". */  final public void ArrayDimensions() throws ParseException {    label_18:    while (true) {      jj_consume_token(LBRACKET);      Expression();      jj_consume_token(RBRACKET);      if (jj_2_8(2)) {        ;      } else {        break label_18;      }    }    label_19:    while (true) {      if (jj_2_9(2)) {        ;      } else {        break label_19;      }      jj_consume_token(LBRACKET);      jj_consume_token(RBRACKET);    }  }  final private boolean jj_2_1(int xla) {    jj_la = xla; jj_lastpos = jj_scanpos = token;    boolean retval = !jj_3_1();    jj_save(0, xla);    return retval;  }  final private boolean jj_2_2(int xla) {    jj_la = xla; jj_lastpos = jj_scanpos = token;    boolean retval = !jj_3_2();    jj_save(1, xla);    return retval;  }  final private boolean jj_2_3(int xla) {    jj_la = xla; jj_lastpos = jj_scanpos = token;    boolean retval = !jj_3_3();    jj_save(2, xla);    return retval;  }  final private boolean jj_2_4(int xla) {    jj_la = xla; jj_lastpos = jj_scanpos = token;    boolean retval = !jj_3_4();    jj_save(3, xla);    return retval;  }  final private boolean jj_2_5(int xla) {    jj_la = xla; jj_lastpos = jj_scanpos = token;    boolean retval = !jj_3_5();    jj_save(4, xla);    return retval;  }  final private boolean jj_2_6(int xla) {    jj_la = xla; jj_lastpos = jj_scanpos = token;    boolean retval = !jj_3_6();    jj_save(5, xla);    return retval;  }  final private boolean jj_2_7(int xla) {    jj_la = xla; jj_lastpos = jj_scanpos = token;    boolean retval = !jj_3_7();    jj_save(6, xla);    return retval;  }  final private boolean jj_2_8(int xla) {    jj_la = xla; jj_lastpos = jj_scanpos = token;    boolean retval = !jj_3_8();    jj_save(7, xla);    return retval;  }  final private boolean jj_2_9(int xla) {    jj_la = xla; jj_lastpos = jj_scanpos = token;    boolean retval = !jj_3_9();    jj_save(8, xla);    return retval;  }  final private boolean jj_3R_154() {    if (jj_scan_token(INCR)) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    return false;  }  final private boolean jj_3R_151() {    Token xsp;    xsp = jj_scanpos;    if (jj_3R_154()) {    jj_scanpos = xsp;    if (jj_3R_155()) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    return false;  }  final private boolean jj_3R_148() {    Token xsp;    xsp = jj_scanpos;    if (jj_3_6()) {    jj_scanpos = xsp;    if (jj_3R_150()) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    return false;  }  final private boolean jj_3_6() {    if (jj_scan_token(LPAREN)) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    if (jj_3R_23()) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    Token xsp;    while (true) {      xsp = jj_scanpos;      if (jj_3R_152()) { jj_scanpos = xsp; break; }      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    }    if (jj_scan_token(RPAREN)) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    if (jj_3R_115()) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    return false;  }  final private boolean jj_3R_25() {    Token xsp;    xsp = jj_scanpos;    if (jj_3R_50()) {    jj_scanpos = xsp;    if (jj_3R_51()) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    return false;  }  final private boolean jj_3R_50() {    if (jj_3R_67()) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    return false;  }  final private boolean jj_3_5() {    if (jj_scan_token(LPAREN)) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    if (jj_3R_24()) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    if (jj_scan_token(LBRACKET)) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    return false;  }  final private boolean jj_3R_149() {    if (jj_3R_20()) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    Token xsp;    xsp = jj_scanpos;    if (jj_3R_151()) jj_scanpos = xsp;    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    return false;  }  final private boolean jj_3R_41() {    if (jj_scan_token(LPAREN)) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    if (jj_3R_24()) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    if (jj_scan_token(RPAREN)) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    Token xsp;    xsp = jj_scanpos;    if (jj_3R_59()) {    jj_scanpos = xsp;    if (jj_3R_60()) {    jj_scanpos = xsp;    if (jj_3R_61()) {    jj_scanpos = xsp;    if (jj_3R_62()) {    jj_scanpos = xsp;    if (jj_3R_63()) {    jj_scanpos = xsp;    if (jj_3R_64()) {    jj_scanpos = xsp;    if (jj_3R_65()) {    jj_scanpos = xsp;    if (jj_3R_66()) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    return false;  }  final private boolean jj_3R_40() {    if (jj_scan_token(LPAREN)) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    if (jj_3R_24()) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    if (jj_scan_token(LBRACKET)) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    if (jj_scan_token(RBRACKET)) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    return false;  }  final private boolean jj_3R_123() {    if (jj_scan_token(LBRACKET)) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    if (jj_scan_token(RBRACKET)) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    return false;  }  final private boolean jj_3_1() {    if (jj_scan_token(DOT)) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    if (jj_scan_token(IDENTIFIER)) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    return false;  }  final private boolean jj_3_4() {    if (jj_scan_token(LPAREN)) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    if (jj_3R_23()) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    return false;  }  final private boolean jj_3R_22() {    Token xsp;    xsp = jj_scanpos;    if (jj_3_4()) {    jj_scanpos = xsp;    if (jj_3R_40()) {    jj_scanpos = xsp;    if (jj_3R_41()) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    return false;  }  final private boolean jj_3_3() {    if (jj_3R_22()) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    return false;  }  final private boolean jj_3R_24() {    if (jj_scan_token(IDENTIFIER)) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    Token xsp;    while (true) {      xsp = jj_scanpos;      if (jj_3_1()) { jj_scanpos = xsp; break; }      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    }    return false;  }  final private boolean jj_3R_147() {    if (jj_scan_token(BANG)) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    return false;  }  final private boolean jj_3R_142() {    if (jj_3R_149()) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    return false;  }  final private boolean jj_3R_122() {    if (jj_3R_24()) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    return false;  }  final private boolean jj_3R_49() {    if (jj_scan_token(DOUBLE)) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    return false;  }  final private boolean jj_3R_141() {    if (jj_3R_148()) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    return false;  }  final private boolean jj_3R_48() {    if (jj_scan_token(FLOAT)) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    return false;  }  final private boolean jj_3R_146() {    if (jj_scan_token(TILDE)) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    return false;  }  final private boolean jj_3R_47() {    if (jj_scan_token(LONG)) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    return false;  }  final private boolean jj_3R_140() {    Token xsp;    xsp = jj_scanpos;    if (jj_3R_146()) {    jj_scanpos = xsp;    if (jj_3R_147()) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    if (jj_3R_115()) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    return false;  }  final private boolean jj_3R_136() {    Token xsp;    xsp = jj_scanpos;    if (jj_3R_140()) {    jj_scanpos = xsp;    if (jj_3R_141()) {    jj_scanpos = xsp;    if (jj_3R_142()) return true;    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;

⌨️ 快捷键说明

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