亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? parser.java

?? javac是sun公司開發人員使用java語言編寫的優秀的工業級java編譯器
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
        case WHILE:            {                S.nextToken();                Tree cond = parExpression();                Tree body = statement();                return F.at(pos).WhileLoop(cond, body);            }        case DO:            {                S.nextToken();                Tree body = statement();                accept(WHILE);                Tree cond = parExpression();                Tree t = F.at(pos).DoLoop(body, cond);                if (genEndPos)                    endPositions.put(t, new Integer(S.endPos));                accept(SEMI);                return t;            }        case TRY:            {                S.nextToken();                Tree body = block();                ListBuffer catchers = new ListBuffer();                Tree finalizer = null;                if (S.token == CATCH || S.token == FINALLY) {                    while (S.token == CATCH)                        catchers.append(catchClause());                    if (S.token == FINALLY) {                        S.nextToken();                        finalizer = block();                    }                } else {                    log.error(pos, "try.without.catch.or.finally");                }                return F.at(pos).Try(body, catchers.toList(), finalizer);            }        case SWITCH:            {                S.nextToken();                Tree selector = parExpression();                accept(LBRACE);                List cases = switchBlockStatementGroups();                Tree t = F.at(pos).Switch(selector, cases);                if (genEndPos)                    endPositions.put(t, new Integer(S.endPos));                accept(RBRACE);                return t;            }        case SYNCHRONIZED:            {                S.nextToken();                Tree lock = parExpression();                Tree body = block();                return F.at(pos).Synchronized(lock, body);            }        case RETURN:            {                S.nextToken();                Tree result = S.token == SEMI ? null : expression();                Tree t = F.at(pos).Return(result);                if (genEndPos)                    endPositions.put(t, new Integer(S.endPos));                accept(SEMI);                return t;            }        case THROW:            {                S.nextToken();                Tree exc = expression();                Tree t = F.at(pos).Throw(exc);                if (genEndPos)                    endPositions.put(t, new Integer(S.endPos));                accept(SEMI);                return t;            }        case BREAK:            {                S.nextToken();                Name label = (S.token == IDENTIFIER || S.token == ASSERT) ? ident() :                        null;                Tree t = F.at(pos).Break(label);                if (genEndPos)                    endPositions.put(t, new Integer(S.prevEndPos));                accept(SEMI);                return t;            }        case CONTINUE:            {                S.nextToken();                Name label = (S.token == IDENTIFIER || S.token == ASSERT) ? ident() :                        null;                Tree t = F.at(pos).Continue(label);                if (genEndPos)                    endPositions.put(t, new Integer(S.prevEndPos));                accept(SEMI);                return t;            }        case SEMI:            S.nextToken();            return F.at(pos).Skip();        case ELSE:            return syntaxError("else.without.if");        case FINALLY:            return syntaxError("finally.without.try");        case CATCH:            return syntaxError("catch.without.try");        case ASSERT:            {                if (allowAsserts) {                    S.nextToken();                    Tree assertion = expression();                    Tree message = null;                    if (S.token == COLON) {                        S.nextToken();                        message = expression();                    }                    Tree t = F.at(pos).Assert(assertion, message);                    accept(SEMI);                    return t;                }            }        default:            Name name = S.name;            Tree expr = expression();            if (S.token == COLON && expr.tag == Tree.IDENT) {                S.nextToken();                Tree stat = statement();                return F.at(pos).Labelled(name, stat);            } else {                Tree stat = F.at(pos).Exec(checkExprStat(expr));                accept(SEMI);                return stat;            }        }    }    /**      * CatchClause	= CATCH "(" FormalParameter ")" Block      */    Catch catchClause() {        int pos = S.pos;        accept(CATCH);        accept(LPAREN);        VarDef formal =                variableDeclaratorId(optFinal() | Flags.PARAMETER, qualident());        accept(RPAREN);        Tree body = block();        return F.at(pos).Catch(formal, body);    }    /**      * SwitchBlockStatementGroups = { SwitchBlockStatementGroup }      *  SwitchBlockStatementGroup = SwitchLabel BlockStatements      *  SwitchLabel = CASE ConstantExpression ":" | DEFAULT ":"      */    List switchBlockStatementGroups() {        ListBuffer cases = new ListBuffer();        while (true) {            int pos = S.pos;            switch (S.token) {            case CASE:                {                    S.nextToken();                    Tree pat = expression();                    accept(COLON);                    List stats = blockStatements();                    cases.append(F.at(pos).Case(pat, stats));                    break;                }            case DEFAULT:                {                    S.nextToken();                    accept(COLON);                    List stats = blockStatements();                    cases.append(F.at(pos).Case(null, stats));                    break;                }            case RBRACE:            case EOF:                return cases.toList();            default:                S.nextToken();                syntaxError(pos, "case.default.or.right-brace.expected");            }        }    }    /**      * MoreStatementExpressions = { COMMA StatementExpression }      */    List moreStatementExpressions(int pos, Tree first) {        ListBuffer stats = new ListBuffer();        stats.append(F.at(pos).Exec(checkExprStat(first)));        while (S.token == COMMA) {            S.nextToken();            pos = S.pos;            Tree t = expression();            stats.append(F.at(pos).Exec(checkExprStat(t)));        }        return stats.toList();    }    /**      * ForInit = StatementExpression MoreStatementExpressions      *           |  [FINAL] Type VariableDeclarators      */    List forInit() {        int pos = S.pos;        if (S.token == FINAL) {            S.nextToken();            return variableDeclarators(Flags.FINAL, type());        } else {            Tree t = term(EXPR | TYPE);            if ((lastmode & TYPE) != 0 &&                    (S.token == IDENTIFIER || S.token == ASSERT))                return variableDeclarators(0, t);            else                return moreStatementExpressions(pos, t);        }    }    /**      * ForUpdate = StatementExpression MoreStatementExpressions      */    List forUpdate() {        return moreStatementExpressions(S.pos, expression());    }    /**      * ModifiersOpt = { Modifier }      *  Modifier = PUBLIC | PROTECTED | PRIVATE | STATIC | ABSTRACT | FINAL      *           | NATIVE | SYNCHRONIZED | TRANSIENT | VOLATILE      */    long modifiersOpt() {        long flags = 0;        if (S.deprecatedFlag) {            flags = Flags.DEPRECATED;            S.deprecatedFlag = false;        }        while (true) {            int flag;            switch (S.token) {            case PRIVATE:                flag = Flags.PRIVATE;                break;            case PROTECTED:                flag = Flags.PROTECTED;                break;            case PUBLIC:                flag = Flags.PUBLIC;                break;            case STATIC:                flag = Flags.STATIC;                break;            case TRANSIENT:                flag = Flags.TRANSIENT;                break;            case FINAL:                flag = Flags.FINAL;                break;            case ABSTRACT:                flag = Flags.ABSTRACT;                break;            case NATIVE:                flag = Flags.NATIVE;                break;            case VOLATILE:                flag = Flags.VOLATILE;                break;            case SYNCHRONIZED:                flag = Flags.SYNCHRONIZED;                break;            case STRICTFP:                flag = Flags.STRICTFP;                break;            default:                return flags;            }            if ((flags & flag) != 0)                log.error(S.pos, "repeated.modifier");            flags = flags | flag;            S.nextToken();        }    }    /**      * VariableDeclarators = VariableDeclarator { "," VariableDeclarator }      */    List variableDeclarators(long flags, Tree type) {        return variableDeclaratorsRest(S.pos, flags, type, ident(), false, null);    }    /**      * VariableDeclaratorsRest = VariableDeclaratorRest { "," VariableDeclarator }      *  ConstantDeclaratorsRest = ConstantDeclaratorRest { "," ConstantDeclarator }      *      *  @param reqInit  Is an initializer always required?      *  @param dc       The documentation comment for the variable declarations, or null.      */    List variableDeclaratorsRest(int pos, long flags, Tree type, Name name,            boolean reqInit, String dc) {        ListBuffer vdefs = new ListBuffer();        vdefs.append(variableDeclaratorRest(pos, flags, type, name, reqInit, dc));        while (S.token == COMMA) {            S.nextToken();            vdefs.append(variableDeclarator(flags, type, reqInit, dc));        }        return vdefs.toList();    }    /**      * VariableDeclarator = Ident VariableDeclaratorRest      *  ConstantDeclarator = Ident ConstantDeclaratorRest      */    VarDef variableDeclarator(long flags, Tree type, boolean reqInit, String dc) {        return variableDeclaratorRest(S.pos, flags, type, ident(), reqInit, dc);    }    /**      * VariableDeclaratorRest = BracketsOpt ["=" VariableInitializer]      *  ConstantDeclaratorRest = BracketsOpt "=" VariableInitializer      *      *  @param reqInit  Is an initializer always required?      *  @param dc       The documentation comment for the variable declarations, or null.      */    VarDef variableDeclaratorRest(int pos, long flags, Tree type, Name name,            boolean reqInit, String dc) {        type = bracketsOpt(type);        Tree init = null;        if (S.token == EQ) {            S.nextToken();            init = variableInitializer();        } else if (reqInit)            syntaxError(S.pos, "expected", keywords.token2string(EQ));        VarDef result = F.at(pos).VarDef(flags, name, type, init);        if (genEndPos)            endPositions.put(result, new Integer(S.prevEndPos));        attach(result, dc);        return result;    }    /**      * VariableDeclaratorId = Ident BracketsOpt      */    VarDef variableDeclaratorId(long flags, Tree type) {        int pos = S.pos;        Name name = ident();        type = bracketsOpt(type);        return F.at(pos).VarDef(flags, name, type, null);    }    /**      * CompilationUnit = [PACKAGE Qualident ";"] {ImportDeclaration} {TypeDeclaration}      */    public Tree.TopLevel compilationUnit() {        int pos = S.pos;        Tree pid = null;        String dc = S.docComment;        if (S.token == PACKAGE) {            S.nextToken();            pid = qualident();            accept(SEMI);        }        ListBuffer defs = new ListBuffer();        while (S.token == IMPORT)            defs.append(importDeclaration());        while (S.token != EOF)            defs.append(typeDeclaration());        Tree.TopLevel toplevel = F.at(pos).TopLevel(pid, defs.toList());        attach(toplevel, dc);        if (keepDocComments)            toplevel.docComments = docComments;        if (genEndPos)            toplevel.endPositions = endPositions;        return toplevel;    }    /**      * ImportDeclaration = IMPORT Ident { "." Ident } [ "." "*" ] ";"      */    Tree importDeclaration() {        int pos = S.pos;        S.nextToken();        Tree pid = F.at(S.pos).Ident(ident());        do {            accept(DOT);            if (S.token == STAR) {                pid = F.at(S.pos).Select(pid, names.asterisk);                S.nextToken();                break;            } else {                pid = F.at(S.pos).Select(pid, ident());            }        } while (S.token == DOT)            ;        accept(SEMI);        return F.at(pos).Import(pid);    }    /**      * TypeDeclaration = ClassOrInterfaceDeclaration      *                  | ";"      */    Tree typeDeclaration() {        long flags = 0;        if (S.pos == S.errPos) {            flags = modifiersOpt();            while (S.token != CLASS && S.token != INTERFACE && S.token != EOF) {                S.nextToken();                flags = modifiersOpt();            }        }        int pos = S.pos;        if (S.token == SEMI) {            S.nextToken();            return F.at(pos).Block(0, Tree.emptyList);        } else {            String dc = S.docComment;            flags = flags | modifiersOpt();            return classOrInterfaceDeclaration(flags, dc);        }    }    /**      * ClassOrInterfaceDeclaration = ModifiersOpt      *                                (ClassDeclaration | InterfaceDeclaration)      *  @param flags    Any modifiers starting the class or interface declaration      *                  which are not in ModifiersOpt      *  @param dc       The documentation comment for the class, or null.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91丝袜美女网| 国产精品久久福利| 欧美电影一区二区三区| 在线看不卡av| 欧美日韩一区在线| 欧美乱熟臀69xxxxxx| 欧美日韩日日骚| 制服丝袜亚洲网站| 欧美一级二级在线观看| 精品免费日韩av| 久久九九全国免费| 国产精品你懂的在线欣赏| 亚洲国产精品99久久久久久久久| 国产精品色一区二区三区| 欧美激情一区三区| 中文字幕中文在线不卡住| 亚洲人成影院在线观看| 亚洲午夜久久久久久久久电影院| 午夜私人影院久久久久| 人人狠狠综合久久亚洲| 九九热在线视频观看这里只有精品| 六月丁香婷婷久久| 国产精品1区二区.| 91丨porny丨中文| 欧美专区亚洲专区| 日韩亚洲欧美在线观看| 久久九九国产精品| 亚洲人成网站在线| 日日嗨av一区二区三区四区| 麻豆精品一区二区三区| 丁香网亚洲国际| 色悠悠亚洲一区二区| 欧美老女人在线| 久久免费视频色| 亚洲欧美视频在线观看视频| 亚洲午夜av在线| 激情综合色丁香一区二区| 成人精品视频网站| 欧美日韩精品福利| 久久―日本道色综合久久| 亚洲三级在线免费观看| 日本特黄久久久高潮| 国产大陆精品国产| 在线免费一区三区| www国产成人| 亚洲精品久久久蜜桃| 蜜臀av性久久久久av蜜臀妖精| 国产成人8x视频一区二区| 在线视频一区二区三| 精品国产免费人成在线观看| 中文字幕一区二| 轻轻草成人在线| av在线播放成人| 91精品国产综合久久精品app| 国产日韩欧美高清| 婷婷一区二区三区| 成人美女在线观看| 日韩欧美成人激情| 亚洲自拍偷拍图区| 国产成人精品影院| 欧美一级免费大片| 亚洲精品乱码久久久久久| 国产成人综合网| 在线电影欧美成精品| 中文字幕一区不卡| 欧美视频一区在线| 国产精品久线在线观看| 久久国产乱子精品免费女| 日本久久一区二区| 国产精品免费观看视频| 蜜桃视频免费观看一区| 91极品美女在线| 国产精品区一区二区三| 久久69国产一区二区蜜臀| 欧美少妇xxx| 亚洲三级久久久| 国产成人精品免费一区二区| 欧美一区二区三区小说| 亚洲一区二区欧美激情| eeuss国产一区二区三区| 久久亚洲二区三区| 奇米精品一区二区三区在线观看一| 91久久精品一区二区三| 国产精品国产三级国产a| 国产精品911| 精品女同一区二区| 美女视频黄频大全不卡视频在线播放| 在线亚洲一区观看| 亚洲日本一区二区| 成人av网站免费| 中文字幕乱码一区二区免费| 国产制服丝袜一区| 精品久久人人做人人爰| 日韩福利视频网| 在线观看91av| 日韩av高清在线观看| 欧美日韩另类一区| 香蕉成人伊视频在线观看| 日本韩国一区二区| 一区二区国产盗摄色噜噜| 99re这里都是精品| 亚洲女同女同女同女同女同69| 成人免费毛片片v| 欧美韩国日本不卡| 成人av影视在线观看| 国产日韩欧美不卡| 成人aaaa免费全部观看| 中文字幕在线不卡视频| 91日韩一区二区三区| 亚洲欧洲中文日韩久久av乱码| 99精品久久久久久| 亚洲免费观看高清完整版在线| 91亚洲精华国产精华精华液| 亚洲人吸女人奶水| 欧美吞精做爰啪啪高潮| 91麻豆免费看片| 亚洲色图在线视频| 欧美性一二三区| 亚洲高清视频的网址| 制服丝袜日韩国产| 久草精品在线观看| 欧美极品美女视频| 91首页免费视频| 亚洲韩国精品一区| 欧美一级视频精品观看| 国产在线视视频有精品| 国产精品国产三级国产a| 在线这里只有精品| 琪琪一区二区三区| 国产性做久久久久久| 9人人澡人人爽人人精品| 亚洲综合久久久久| 欧美一区二区三区免费大片| 国产精品亚洲第一| 亚洲精品国产一区二区三区四区在线| 欧美色图免费看| 老司机免费视频一区二区| 国产欧美一区二区在线| 色综合天天综合网国产成人综合天 | 日韩片之四级片| 国产成人精品影视| 亚洲二区视频在线| 久久综合九色欧美综合狠狠 | 欧美性大战久久| 老司机精品视频一区二区三区| 国产亲近乱来精品视频| 日本久久一区二区三区| 激情亚洲综合在线| 亚洲欧美二区三区| 欧美mv日韩mv| 在线看一区二区| 国产在线精品一区二区不卡了| 亚洲三级小视频| 欧美精品一区二区三区在线| 91理论电影在线观看| 久久99热狠狠色一区二区| 亚洲欧美自拍偷拍色图| 欧美成人a视频| 在线视频亚洲一区| 国产乱码精品一区二区三区av | 99精品在线观看视频| 日韩黄色片在线观看| 国产精品久久久久久一区二区三区 | 久久精品视频一区二区| 在线观看日韩精品| 国产91色综合久久免费分享| 午夜电影网亚洲视频| 中文字幕一区二区不卡| 精品国产不卡一区二区三区| 欧美亚洲高清一区二区三区不卡| 国产乱妇无码大片在线观看| 亚洲一二三区在线观看| 国产精品国产三级国产aⅴ中文| 日韩免费高清av| 欧美日韩免费电影| 91美女蜜桃在线| 国产曰批免费观看久久久| 亚洲一区二三区| 国产精品不卡在线观看| 久久久久久夜精品精品免费| 欧美精三区欧美精三区| 91九色最新地址| 99久久久久免费精品国产| 国产精品69毛片高清亚洲| 久久精品国产久精国产爱| 午夜视频在线观看一区二区三区| 亚洲欧美另类在线| 国产精品久久久久久久久图文区| 久久色视频免费观看| 欧美tickling挠脚心丨vk| 欧美高清激情brazzers| 欧美视频三区在线播放| 91视频.com| 95精品视频在线| jlzzjlzz亚洲日本少妇| 国产成人精品免费在线| 国产精品99久久久久久似苏梦涵| 韩国成人精品a∨在线观看| 美女性感视频久久| 美女视频一区在线观看|