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

📄 validator.java

📁 c--词法分析
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
                break;            case 73:                {                alt8=7;                }                break;            case 72:                {                alt8=8;                }                break;            case 69:                {                alt8=9;                }                break;            case 74:                {                alt8=10;                }                break;            case 75:                {                alt8=11;                }                break;            case 76:                {                alt8=12;                }                break;            case 77:                {                alt8=13;                }                break;            case NEGATE:                {                alt8=14;                }                break;            case NOT:                {                alt8=15;                }                break;            case NUM:                {                alt8=16;                }                break;            case VAR:                {                alt8=17;                }                break;            case INDEX:                {                alt8=18;                }                break;            case PREFIX:                {                alt8=19;                }                break;            case POSTFIX:                {                alt8=20;                }                break;            case CALL:                {                alt8=21;                }                break;            case ASSIGN:                {                int LA8_22 = input.LA(2);                if ( (LA8_22==DOWN) ) {                    int LA8_23 = input.LA(3);                    if ( (LA8_23==ID) ) {                        alt8=22;                    }                    else if ( (LA8_23==INDEX) ) {                        alt8=23;                    }                    else {                        NoViableAltException nvae =                            new NoViableAltException("66:1: expr : ( ^( ( 'or' | '||' ) expr expr ) | ^( ( 'and' | '&&' ) expr expr ) | ^( '==' expr expr ) | ^( '!=' expr expr ) | ^( '>' expr expr ) | ^( '<' expr expr ) | ^( '>=' expr expr ) | ^( '<=' expr expr ) | ^( '<>' expr expr ) | ^( '+' expr expr ) | ^( '-' expr expr ) | ^( '*' expr expr ) | ^( '/' expr expr ) | ^( NEGATE expr ) | ^( NOT expr ) | ^( NUM INT ) | ^( VAR ID ) | ^( INDEX ID expr ) | ^( PREFIX ^( VAR ID ) ^( NUM INT ) ) | ^( POSTFIX ^( VAR ID ) ^( NUM INT ) ) | call | ^( ASSIGN ID expr ) | ^( ASSIGN ^( INDEX ID expr ) expr ) );", 8, 23, input);                        throw nvae;                    }                }                else {                    NoViableAltException nvae =                        new NoViableAltException("66:1: expr : ( ^( ( 'or' | '||' ) expr expr ) | ^( ( 'and' | '&&' ) expr expr ) | ^( '==' expr expr ) | ^( '!=' expr expr ) | ^( '>' expr expr ) | ^( '<' expr expr ) | ^( '>=' expr expr ) | ^( '<=' expr expr ) | ^( '<>' expr expr ) | ^( '+' expr expr ) | ^( '-' expr expr ) | ^( '*' expr expr ) | ^( '/' expr expr ) | ^( NEGATE expr ) | ^( NOT expr ) | ^( NUM INT ) | ^( VAR ID ) | ^( INDEX ID expr ) | ^( PREFIX ^( VAR ID ) ^( NUM INT ) ) | ^( POSTFIX ^( VAR ID ) ^( NUM INT ) ) | call | ^( ASSIGN ID expr ) | ^( ASSIGN ^( INDEX ID expr ) expr ) );", 8, 22, input);                    throw nvae;                }                }                break;            default:                NoViableAltException nvae =                    new NoViableAltException("66:1: expr : ( ^( ( 'or' | '||' ) expr expr ) | ^( ( 'and' | '&&' ) expr expr ) | ^( '==' expr expr ) | ^( '!=' expr expr ) | ^( '>' expr expr ) | ^( '<' expr expr ) | ^( '>=' expr expr ) | ^( '<=' expr expr ) | ^( '<>' expr expr ) | ^( '+' expr expr ) | ^( '-' expr expr ) | ^( '*' expr expr ) | ^( '/' expr expr ) | ^( NEGATE expr ) | ^( NOT expr ) | ^( NUM INT ) | ^( VAR ID ) | ^( INDEX ID expr ) | ^( PREFIX ^( VAR ID ) ^( NUM INT ) ) | ^( POSTFIX ^( VAR ID ) ^( NUM INT ) ) | call | ^( ASSIGN ID expr ) | ^( ASSIGN ^( INDEX ID expr ) expr ) );", 8, 0, input);                throw nvae;            }            switch (alt8) {                case 1 :                    // Validator.g:67:4: ^( ( 'or' | '||' ) expr expr )                    {                    if ( (input.LA(1)>=63 && input.LA(1)<=64) ) {                        input.consume();                        errorRecovery=false;                    }                    else {                        MismatchedSetException mse =                            new MismatchedSetException(null,input);                        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_expr329);    throw mse;                    }                    match(input, Token.DOWN, null);                     pushFollow(FOLLOW_expr_in_expr335);                    expr();                    _fsp--;                    pushFollow(FOLLOW_expr_in_expr337);                    expr();                    _fsp--;                    match(input, Token.UP, null);                     }                    break;                case 2 :                    // Validator.g:68:5: ^( ( 'and' | '&&' ) expr expr )                    {                    if ( (input.LA(1)>=65 && input.LA(1)<=66) ) {                        input.consume();                        errorRecovery=false;                    }                    else {                        MismatchedSetException mse =                            new MismatchedSetException(null,input);                        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_expr347);    throw mse;                    }                    match(input, Token.DOWN, null);                     pushFollow(FOLLOW_expr_in_expr353);                    expr();                    _fsp--;                    pushFollow(FOLLOW_expr_in_expr355);                    expr();                    _fsp--;                    match(input, Token.UP, null);                     }                    break;                case 3 :                    // Validator.g:69:5: ^( '==' expr expr )                    {                    match(input,67,FOLLOW_67_in_expr365);                     match(input, Token.DOWN, null);                     pushFollow(FOLLOW_expr_in_expr367);                    expr();                    _fsp--;                    pushFollow(FOLLOW_expr_in_expr369);                    expr();                    _fsp--;                    match(input, Token.UP, null);                     }                    break;                case 4 :                    // Validator.g:70:5: ^( '!=' expr expr )                    {                    match(input,68,FOLLOW_68_in_expr380);                     match(input, Token.DOWN, null);                     pushFollow(FOLLOW_expr_in_expr382);                    expr();                    _fsp--;                    pushFollow(FOLLOW_expr_in_expr384);                    expr();                    _fsp--;                    match(input, Token.UP, null);                     }                    break;                case 5 :                    // Validator.g:71:5: ^( '>' expr expr )                    {                    match(input,70,FOLLOW_70_in_expr395);                     match(input, Token.DOWN, null);                     pushFollow(FOLLOW_expr_in_expr397);                    expr();                    _fsp--;                    pushFollow(FOLLOW_expr_in_expr399);                    expr();                    _fsp--;                    match(input, Token.UP, null);                     }                    break;                case 6 :                    // Validator.g:72:5: ^( '<' expr expr )                    {                    match(input,71,FOLLOW_71_in_expr410);                     match(input, Token.DOWN, null);                     pushFollow(FOLLOW_expr_in_expr412);                    expr();                    _fsp--;                    pushFollow(FOLLOW_expr_in_expr414);                    expr();                    _fsp--;                    match(input, Token.UP, null);                     }                    break;                case 7 :                    // Validator.g:73:5: ^( '>=' expr expr )                    {                    match(input,73,FOLLOW_73_in_expr425);                     match(input, Token.DOWN, null);                     pushFollow(FOLLOW_expr_in_expr427);                    expr();                    _fsp--;                    pushFollow(FOLLOW_expr_in_expr429);                    expr();                    _fsp--;                    match(input, Token.UP, null);                     }                    break;                case 8 :                    // Validator.g:74:5: ^( '<=' expr expr )                    {                    match(input,72,FOLLOW_72_in_expr440);                     match(input, Token.DOWN, null);                     pushFollow(FOLLOW_expr_in_expr442);                    expr();                    _fsp--;                    pushFollow(FOLLOW_expr_in_expr444);                    expr();                    _fsp--;                    match(input, Token.UP, null);                     }                    break;                case 9 :                    // Validator.g:75:5: ^( '<>' expr expr )                    {                    match(input,69,FOLLOW_69_in_expr455);                     match(input, Token.DOWN, null);                     pushFollow(FOLLOW_expr_in_expr457);                    expr();                    _fsp--;                    pushFollow(FOLLOW_expr_in_expr459);                    expr();                    _fsp--;                    match(input, Token.UP, null);                     }                    break;                case 10 :                    // Validator.g:76:5: ^( '+' expr expr )                    {                    match(input,74,FOLLOW_74_in_expr470);                     match(input, Token.DOWN, null);                     pushFollow(FOLLOW_expr_in_expr472);                    expr();                    _fsp--;                    pushFollow(FOLLOW_expr_in_expr474);                    expr();                    _fsp--;                    match(input, Token.UP, null);                     }                    break;                case 11 :                    // Validator.g:77:5: ^( '-' expr expr )                    {                    match(input,75,FOLLOW_75_in_expr486);                     match(input, Token.DOWN, null);                     pushFollow(FOLLOW_expr_in_expr488);                    expr();                    _fsp--;                    pushFollow(FOLLOW_expr_in_expr490);                    expr();                    _fsp--;                    match(input, Token.UP, null);                     }                    break;                case 12 :                    // Validator.g:78:5: ^( '*' expr expr )                    {                    match(input,76,FOLLOW_76_in_expr502);                     match(input, Token.DOWN, null);                     pushFollow(FOLLOW_expr_in_expr504);                    expr();                    _fsp--;                    pushFollow(FOLLOW_expr_in_expr506);                    expr();                    _fsp--;                    match(input, Token.UP, null);                     }                    break;                case 13 :                    // Validator.g:79:5: ^( '/' expr expr )                    {                    match(input,77,FOLLOW_77_in_expr518);                     match(input, Token.DOWN, null);                     pushFollow(FOLLOW_expr_in_expr520);                    expr();                    _fsp--;                    pushFollow(FOLLOW_expr_in_expr522);                    expr();                    _fsp--;                    match(input, Token.UP, null);                     }                    break;                case 14 :                    // Validator.g:80:5: ^( NEGATE expr )                    {                    match(input,NEGATE,FOLLOW_NEGATE_in_expr534);                     match(input, Token.DOWN, null);                     pushFollow(FOLLOW_expr_in_expr536);

⌨️ 快捷键说明

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