Пример #1
0
        // throws RecognitionException [1]
        // $ANTLR start statement
        // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:672:1: statement : ( ( LCURLY )=> block | declarationStatement | expressionStatement | ifStatement | forStatement | whileStatement | doWhileStatement | withStatement | switchStatement | breakStatement | continueStatement | returnStatement | throwStatement | tryStatement | SEMI | c= comments );
        public statement_return statement()
        {
            statement_return retval = new statement_return();
            retval.start = input.LT(1);
            int statement_StartIndex = input.Index();
            CommonTree root_0 = null;

            CommonToken SEMI93 = null;
            comments_return c = null;

            block_return block79 = null;

            declarationStatement_return declarationStatement80 = null;

            expressionStatement_return expressionStatement81 = null;

            ifStatement_return ifStatement82 = null;

            forStatement_return forStatement83 = null;

            whileStatement_return whileStatement84 = null;

            doWhileStatement_return doWhileStatement85 = null;

            withStatement_return withStatement86 = null;

            switchStatement_return switchStatement87 = null;

            breakStatement_return breakStatement88 = null;

            continueStatement_return continueStatement89 = null;

            returnStatement_return returnStatement90 = null;

            throwStatement_return throwStatement91 = null;

            tryStatement_return tryStatement92 = null;

            CommonTree SEMI93_tree=null;

            try
            {
            if ( (backtracking > 0) && AlreadyParsedRule(input, 36) )
            {
                return retval;
            }
            // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:673:4: ( ( LCURLY )=> block | declarationStatement | expressionStatement | ifStatement | forStatement | whileStatement | doWhileStatement | withStatement | switchStatement | breakStatement | continueStatement | returnStatement | throwStatement | tryStatement | SEMI | c= comments )
            int alt29 = 16;
            switch ( input.LA(1) )
            {
            case LCURLY:
                {
                int LA29_1 = input.LA(2);

                if ( (LA29_1 == LCURLY) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( ((LA29_1 >= VAR && LA29_1 <= CONST)) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == INC) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == DEC) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == MINUS) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == PLUS) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == DELETE) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == VOID) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == TYPEOF) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == LNOT) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == BNOT) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == UNDEFINED) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( ((LA29_1 >= HEX_LITERAL && LA29_1 <= FLOAT_LITERAL)) )
                {
                    int LA29_56 = input.LA(3);

                    if ( (synpred37()) )
                    {
                        alt29 = 1;
                    }
                    else if ( (synpred39()) )
                    {
                        alt29 = 3;
                    }
                    else
                    {
                        if ( backtracking > 0 ) {failed = true; return retval;}
                        NoViableAltException nvae_d29s56 =
                            new NoViableAltException("672:1: statement : ( ( LCURLY )=> block | declarationStatement | expressionStatement | ifStatement | forStatement | whileStatement | doWhileStatement | withStatement | switchStatement | breakStatement | continueStatement | returnStatement | throwStatement | tryStatement | SEMI | c= comments );", 29, 56, input);

                        throw nvae_d29s56;
                    }
                }
                else if ( (LA29_1 == STRING_LITERAL) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == TRUE) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == FALSE) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == NULL) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == LBRACK) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == FUNCTION) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == NEW) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == LPAREN) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == IDENT) )
                {
                    int LA29_65 = input.LA(3);

                    if ( (synpred37()) )
                    {
                        alt29 = 1;
                    }
                    else if ( (synpred39()) )
                    {
                        alt29 = 3;
                    }
                    else
                    {
                        if ( backtracking > 0 ) {failed = true; return retval;}
                        NoViableAltException nvae_d29s65 =
                            new NoViableAltException("672:1: statement : ( ( LCURLY )=> block | declarationStatement | expressionStatement | ifStatement | forStatement | whileStatement | doWhileStatement | withStatement | switchStatement | breakStatement | continueStatement | returnStatement | throwStatement | tryStatement | SEMI | c= comments );", 29, 65, input);

                        throw nvae_d29s65;
                    }
                }
                else if ( (LA29_1 == USE) )
                {
                    int LA29_66 = input.LA(3);

                    if ( (synpred37()) )
                    {
                        alt29 = 1;
                    }
                    else if ( (synpred39()) )
                    {
                        alt29 = 3;
                    }
                    else
                    {
                        if ( backtracking > 0 ) {failed = true; return retval;}
                        NoViableAltException nvae_d29s66 =
                            new NoViableAltException("672:1: statement : ( ( LCURLY )=> block | declarationStatement | expressionStatement | ifStatement | forStatement | whileStatement | doWhileStatement | withStatement | switchStatement | breakStatement | continueStatement | returnStatement | throwStatement | tryStatement | SEMI | c= comments );", 29, 66, input);

                        throw nvae_d29s66;
                    }
                }
                else if ( (LA29_1 == XML) )
                {
                    int LA29_67 = input.LA(3);

                    if ( (synpred37()) )
                    {
                        alt29 = 1;
                    }
                    else if ( (synpred39()) )
                    {
                        alt29 = 3;
                    }
                    else
                    {
                        if ( backtracking > 0 ) {failed = true; return retval;}
                        NoViableAltException nvae_d29s67 =
                            new NoViableAltException("672:1: statement : ( ( LCURLY )=> block | declarationStatement | expressionStatement | ifStatement | forStatement | whileStatement | doWhileStatement | withStatement | switchStatement | breakStatement | continueStatement | returnStatement | throwStatement | tryStatement | SEMI | c= comments );", 29, 67, input);

                        throw nvae_d29s67;
                    }
                }
                else if ( (LA29_1 == DYNAMIC) )
                {
                    int LA29_68 = input.LA(3);

                    if ( (synpred37()) )
                    {
                        alt29 = 1;
                    }
                    else if ( (synpred39()) )
                    {
                        alt29 = 3;
                    }
                    else
                    {
                        if ( backtracking > 0 ) {failed = true; return retval;}
                        NoViableAltException nvae_d29s68 =
                            new NoViableAltException("672:1: statement : ( ( LCURLY )=> block | declarationStatement | expressionStatement | ifStatement | forStatement | whileStatement | doWhileStatement | withStatement | switchStatement | breakStatement | continueStatement | returnStatement | throwStatement | tryStatement | SEMI | c= comments );", 29, 68, input);

                        throw nvae_d29s68;
                    }
                }
                else if ( (LA29_1 == IS) )
                {
                    int LA29_69 = input.LA(3);

                    if ( (synpred37()) )
                    {
                        alt29 = 1;
                    }
                    else if ( (synpred39()) )
                    {
                        alt29 = 3;
                    }
                    else
                    {
                        if ( backtracking > 0 ) {failed = true; return retval;}
                        NoViableAltException nvae_d29s69 =
                            new NoViableAltException("672:1: statement : ( ( LCURLY )=> block | declarationStatement | expressionStatement | ifStatement | forStatement | whileStatement | doWhileStatement | withStatement | switchStatement | breakStatement | continueStatement | returnStatement | throwStatement | tryStatement | SEMI | c= comments );", 29, 69, input);

                        throw nvae_d29s69;
                    }
                }
                else if ( (LA29_1 == AS) )
                {
                    int LA29_70 = input.LA(3);

                    if ( (synpred37()) )
                    {
                        alt29 = 1;
                    }
                    else if ( (synpred39()) )
                    {
                        alt29 = 3;
                    }
                    else
                    {
                        if ( backtracking > 0 ) {failed = true; return retval;}
                        NoViableAltException nvae_d29s70 =
                            new NoViableAltException("672:1: statement : ( ( LCURLY )=> block | declarationStatement | expressionStatement | ifStatement | forStatement | whileStatement | doWhileStatement | withStatement | switchStatement | breakStatement | continueStatement | returnStatement | throwStatement | tryStatement | SEMI | c= comments );", 29, 70, input);

                        throw nvae_d29s70;
                    }
                }
                else if ( (LA29_1 == GET) )
                {
                    int LA29_71 = input.LA(3);

                    if ( (synpred37()) )
                    {
                        alt29 = 1;
                    }
                    else if ( (synpred39()) )
                    {
                        alt29 = 3;
                    }
                    else
                    {
                        if ( backtracking > 0 ) {failed = true; return retval;}
                        NoViableAltException nvae_d29s71 =
                            new NoViableAltException("672:1: statement : ( ( LCURLY )=> block | declarationStatement | expressionStatement | ifStatement | forStatement | whileStatement | doWhileStatement | withStatement | switchStatement | breakStatement | continueStatement | returnStatement | throwStatement | tryStatement | SEMI | c= comments );", 29, 71, input);

                        throw nvae_d29s71;
                    }
                }
                else if ( (LA29_1 == SET) )
                {
                    int LA29_72 = input.LA(3);

                    if ( (synpred37()) )
                    {
                        alt29 = 1;
                    }
                    else if ( (synpred39()) )
                    {
                        alt29 = 3;
                    }
                    else
                    {
                        if ( backtracking > 0 ) {failed = true; return retval;}
                        NoViableAltException nvae_d29s72 =
                            new NoViableAltException("672:1: statement : ( ( LCURLY )=> block | declarationStatement | expressionStatement | ifStatement | forStatement | whileStatement | doWhileStatement | withStatement | switchStatement | breakStatement | continueStatement | returnStatement | throwStatement | tryStatement | SEMI | c= comments );", 29, 72, input);

                        throw nvae_d29s72;
                    }
                }
                else if ( (LA29_1 == IF) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == FOR) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == WHILE) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == DO) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == WITH) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == SWITCH) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == BREAK) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == CONTINUE) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == RETURN) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == 176) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == 177) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == SEMI) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == SL_COMMENT) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == ML_COMMENT) && (synpred37()) )
                {
                    alt29 = 1;
                }
                else if ( (LA29_1 == RCURLY) )
                {
                    int LA29_87 = input.LA(3);

                    if ( (synpred37()) )
                    {
                        alt29 = 1;
                    }
                    else if ( (synpred39()) )
                    {
                        alt29 = 3;
                    }
                    else
                    {
                        if ( backtracking > 0 ) {failed = true; return retval;}
                        NoViableAltException nvae_d29s87 =
                            new NoViableAltException("672:1: statement : ( ( LCURLY )=> block | declarationStatement | expressionStatement | ifStatement | forStatement | whileStatement | doWhileStatement | withStatement | switchStatement | breakStatement | continueStatement | returnStatement | throwStatement | tryStatement | SEMI | c= comments );", 29, 87, input);

                        throw nvae_d29s87;
                    }
                }
                else
                {
                    if ( backtracking > 0 ) {failed = true; return retval;}
                    NoViableAltException nvae_d29s1 =
                        new NoViableAltException("672:1: statement : ( ( LCURLY )=> block | declarationStatement | expressionStatement | ifStatement | forStatement | whileStatement | doWhileStatement | withStatement | switchStatement | breakStatement | continueStatement | returnStatement | throwStatement | tryStatement | SEMI | c= comments );", 29, 1, input);

                    throw nvae_d29s1;
                }
                }
                break;
            case VAR:
            case CONST:
                {
                alt29 = 2;
                }
                break;
            case STRING_LITERAL:
            case FUNCTION:
            case GET:
            case SET:
            case LPAREN:
            case VOID:
            case IDENT:
            case LBRACK:
            case DYNAMIC:
            case IS:
            case AS:
            case PLUS:
            case MINUS:
            case INC:
            case DEC:
            case DELETE:
            case TYPEOF:
            case LNOT:
            case BNOT:
            case UNDEFINED:
            case TRUE:
            case FALSE:
            case NULL:
            case HEX_LITERAL:
            case DECIMAL_LITERAL:
            case OCTAL_LITERAL:
            case FLOAT_LITERAL:
            case NEW:
            case USE:
            case XML:
                {
                alt29 = 3;
                }
                break;
            case IF:
                {
                alt29 = 4;
                }
                break;
            case FOR:
                {
                alt29 = 5;
                }
                break;
            case WHILE:
                {
                alt29 = 6;
                }
                break;
            case DO:
                {
                alt29 = 7;
                }
                break;
            case WITH:
                {
                alt29 = 8;
                }
                break;
            case SWITCH:
                {
                alt29 = 9;
                }
                break;
            case BREAK:
                {
                alt29 = 10;
                }
                break;
            case CONTINUE:
                {
                alt29 = 11;
                }
                break;
            case RETURN:
                {
                alt29 = 12;
                }
                break;
            case 176:
                {
                alt29 = 13;
                }
                break;
            case 177:
                {
                alt29 = 14;
                }
                break;
            case SEMI:
                {
                alt29 = 15;
                }
                break;
            case SL_COMMENT:
            case ML_COMMENT:
                {
                alt29 = 16;
                }
                break;
                default:
                    if ( backtracking > 0 ) {failed = true; return retval;}
                    NoViableAltException nvae_d29s0 =
                        new NoViableAltException("672:1: statement : ( ( LCURLY )=> block | declarationStatement | expressionStatement | ifStatement | forStatement | whileStatement | doWhileStatement | withStatement | switchStatement | breakStatement | continueStatement | returnStatement | throwStatement | tryStatement | SEMI | c= comments );", 29, 0, input);

                    throw nvae_d29s0;
            }

            switch (alt29)
            {
                case 1 :
                    // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:673:4: ( LCURLY )=> block
                    {
                        root_0 = (CommonTree)adaptor.GetNilNode();

                        PushFollow(FOLLOW_block_in_statement1982);
                        block79 = block();
                        followingStackPointer_--;
                        if (failed) return retval;
                        if ( backtracking==0 ) adaptor.AddChild(root_0, block79.Tree);

                    }
                    break;
                case 2 :
                    // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:674:4: declarationStatement
                    {
                        root_0 = (CommonTree)adaptor.GetNilNode();

                        PushFollow(FOLLOW_declarationStatement_in_statement1987);
                        declarationStatement80 = declarationStatement();
                        followingStackPointer_--;
                        if (failed) return retval;
                        if ( backtracking==0 ) adaptor.AddChild(root_0, declarationStatement80.Tree);
                        if ( backtracking == 0 )
                        {
                           buffer.Append(";");
                        }

                    }
                    break;
                case 3 :
                    // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:675:4: expressionStatement
                    {
                        root_0 = (CommonTree)adaptor.GetNilNode();

                        PushFollow(FOLLOW_expressionStatement_in_statement1996);
                        expressionStatement81 = expressionStatement();
                        followingStackPointer_--;
                        if (failed) return retval;
                        if ( backtracking==0 ) adaptor.AddChild(root_0, expressionStatement81.Tree);
                        if ( backtracking == 0 )
                        {
                           buffer.Append(";");
                        }

                    }
                    break;
                case 4 :
                    // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:676:4: ifStatement
                    {
                        root_0 = (CommonTree)adaptor.GetNilNode();

                        PushFollow(FOLLOW_ifStatement_in_statement2006);
                        ifStatement82 = ifStatement();
                        followingStackPointer_--;
                        if (failed) return retval;
                        if ( backtracking==0 ) adaptor.AddChild(root_0, ifStatement82.Tree);

                    }
                    break;
                case 5 :
                    // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:677:4: forStatement
                    {
                        root_0 = (CommonTree)adaptor.GetNilNode();

                        PushFollow(FOLLOW_forStatement_in_statement2011);
                        forStatement83 = forStatement();
                        followingStackPointer_--;
                        if (failed) return retval;
                        if ( backtracking==0 ) adaptor.AddChild(root_0, forStatement83.Tree);

                    }
                    break;
                case 6 :
                    // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:678:4: whileStatement
                    {
                        root_0 = (CommonTree)adaptor.GetNilNode();

                        PushFollow(FOLLOW_whileStatement_in_statement2016);
                        whileStatement84 = whileStatement();
                        followingStackPointer_--;
                        if (failed) return retval;
                        if ( backtracking==0 ) adaptor.AddChild(root_0, whileStatement84.Tree);

                    }
                    break;
                case 7 :
                    // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:679:4: doWhileStatement
                    {
                        root_0 = (CommonTree)adaptor.GetNilNode();

                        PushFollow(FOLLOW_doWhileStatement_in_statement2021);
                        doWhileStatement85 = doWhileStatement();
                        followingStackPointer_--;
                        if (failed) return retval;
                        if ( backtracking==0 ) adaptor.AddChild(root_0, doWhileStatement85.Tree);

                    }
                    break;
                case 8 :
                    // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:680:4: withStatement
                    {
                        root_0 = (CommonTree)adaptor.GetNilNode();

                        PushFollow(FOLLOW_withStatement_in_statement2026);
                        withStatement86 = withStatement();
                        followingStackPointer_--;
                        if (failed) return retval;
                        if ( backtracking==0 ) adaptor.AddChild(root_0, withStatement86.Tree);

                    }
                    break;
                case 9 :
                    // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:681:4: switchStatement
                    {
                        root_0 = (CommonTree)adaptor.GetNilNode();

                        PushFollow(FOLLOW_switchStatement_in_statement2031);
                        switchStatement87 = switchStatement();
                        followingStackPointer_--;
                        if (failed) return retval;
                        if ( backtracking==0 ) adaptor.AddChild(root_0, switchStatement87.Tree);

                    }
                    break;
                case 10 :
                    // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:682:4: breakStatement
                    {
                        root_0 = (CommonTree)adaptor.GetNilNode();

                        PushFollow(FOLLOW_breakStatement_in_statement2036);
                        breakStatement88 = breakStatement();
                        followingStackPointer_--;
                        if (failed) return retval;
                        if ( backtracking==0 ) adaptor.AddChild(root_0, breakStatement88.Tree);
                        if ( backtracking == 0 )
                        {
                           buffer.Append(";");
                        }

                    }
                    break;
                case 11 :
                    // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:683:4: continueStatement
                    {
                        root_0 = (CommonTree)adaptor.GetNilNode();

                        PushFollow(FOLLOW_continueStatement_in_statement2046);
                        continueStatement89 = continueStatement();
                        followingStackPointer_--;
                        if (failed) return retval;
                        if ( backtracking==0 ) adaptor.AddChild(root_0, continueStatement89.Tree);
                        if ( backtracking == 0 )
                        {
                           buffer.Append(";");
                        }

                    }
                    break;
                case 12 :
                    // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:684:4: returnStatement
                    {
                        root_0 = (CommonTree)adaptor.GetNilNode();

                        PushFollow(FOLLOW_returnStatement_in_statement2055);
                        returnStatement90 = returnStatement();
                        followingStackPointer_--;
                        if (failed) return retval;
                        if ( backtracking==0 ) adaptor.AddChild(root_0, returnStatement90.Tree);
                        if ( backtracking == 0 )
                        {
                           buffer.Append(";");
                        }

                    }
                    break;
                case 13 :
                    // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:685:4: throwStatement
                    {
                        root_0 = (CommonTree)adaptor.GetNilNode();

                        PushFollow(FOLLOW_throwStatement_in_statement2065);
                        throwStatement91 = throwStatement();
                        followingStackPointer_--;
                        if (failed) return retval;
                        if ( backtracking==0 ) adaptor.AddChild(root_0, throwStatement91.Tree);
                        if ( backtracking == 0 )
                        {
                           buffer.Append(";");
                        }

                    }
                    break;
                case 14 :
                    // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:686:4: tryStatement
                    {
                        root_0 = (CommonTree)adaptor.GetNilNode();

                        PushFollow(FOLLOW_tryStatement_in_statement2075);
                        tryStatement92 = tryStatement();
                        followingStackPointer_--;
                        if (failed) return retval;
                        if ( backtracking==0 ) adaptor.AddChild(root_0, tryStatement92.Tree);

                    }
                    break;
                case 15 :
                    // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:687:4: SEMI
                    {
                        root_0 = (CommonTree)adaptor.GetNilNode();

                        SEMI93 = (CommonToken)input.LT(1);
                        Match(input,SEMI,FOLLOW_SEMI_in_statement2080); if (failed) return retval;

                    }
                    break;
                case 16 :
                    // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:688:4: c= comments
                    {
                        root_0 = (CommonTree)adaptor.GetNilNode();

                        PushFollow(FOLLOW_comments_in_statement2088);
                        c = comments();
                        followingStackPointer_--;
                        if (failed) return retval;
                        if ( backtracking==0 ) adaptor.AddChild(root_0, c.Tree);
                        if ( backtracking == 0 )
                        {
                           insertComment(c);
                        }

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            if ( backtracking==0 )
            {	retval.tree = (CommonTree)adaptor.RulePostProcessing(root_0);
                adaptor.SetTokenBoundaries(retval.Tree, retval.start, retval.stop);
            }
            }

            catch (NoViableAltException e)
            {
                Debug.WriteLine("NoValiable alt: token=" + e.Token + " (decision=" + e.decisionNumber + " state " + e.stateNumber + ")" + " decision=<<" + e.grammarDecisionDescription + ">>");
                throw e;
            }
            catch (MismatchedTokenException e)
            {
                Debug.WriteLine("[" + e.Line + ":" + e.Index + "]: " + e.Message + ". Unexpected " + e.UnexpectedType.ToString() +  "( expecting: "+ e.expecting + " )");
                throw e;
            }
            catch(RecognitionException e)
            {
                Debug.WriteLine("RecognitionException: " + e);
                throw e;
            }
            finally
            {
            if ( backtracking > 0 )
            {
                Memoize(input, 36, statement_StartIndex);
            }
            }
            return retval;
        }
Пример #2
0
    // $ANTLR start statement
    // C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:147:1: statement returns [Statement value] : first= primaryExpression ( '.' follow= primaryExpression )* ;
    public statement_return statement() // throws RecognitionException [1]
    {   
        statement_return retval = new statement_return();
        retval.start = input.LT(1);
        
        CommonTree root_0 = null;
    
        IToken char_literal27 = null;
        primaryExpression_return first = null;

        primaryExpression_return follow = null;
        
        
        CommonTree char_literal27_tree=null;
    
        
        List<Expression> expressions = new List<Expression>();
    
        try 
    	{
            // C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:151:2: (first= primaryExpression ( '.' follow= primaryExpression )* )
            // C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:151:4: first= primaryExpression ( '.' follow= primaryExpression )*
            {
            	root_0 = (CommonTree)adaptor.GetNilNode();
            
            	PushFollow(FOLLOW_primaryExpression_in_statement594);
            	first = primaryExpression();
            	followingStackPointer_--;
            	
            	adaptor.AddChild(root_0, first.Tree);
            	 expressions.Add(first.value); 
            	// C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:151:63: ( '.' follow= primaryExpression )*
            	do 
            	{
            	    int alt14 = 2;
            	    int LA14_0 = input.LA(1);
            	    
            	    if ( (LA14_0 == 33) )
            	    {
            	        alt14 = 1;
            	    }
            	    
            	
            	    switch (alt14) 
            		{
            			case 1 :
            			    // C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:151:65: '.' follow= primaryExpression
            			    {
            			    	char_literal27 = (IToken)input.LT(1);
            			    	Match(input,33,FOLLOW_33_in_statement600); 
            			    	char_literal27_tree = (CommonTree)adaptor.Create(char_literal27);
            			    	adaptor.AddChild(root_0, char_literal27_tree);

            			    	PushFollow(FOLLOW_primaryExpression_in_statement604);
            			    	follow = primaryExpression();
            			    	followingStackPointer_--;
            			    	
            			    	adaptor.AddChild(root_0, follow.Tree);
            			    	 expressions.Add(follow.value); 
            			    
            			    }
            			    break;
            	
            			default:
            			    goto loop14;
            	    }
            	} while (true);
            	
            	loop14:
            		;	// Stops C# compiler whinging that label 'loop14' has no statements

            	 retval.value =  new Statement(expressions.ToArray()); 
            
            }
    
            retval.stop = input.LT(-1);
            
            	retval.tree = (CommonTree)adaptor.RulePostProcessing(root_0);
            	adaptor.SetTokenBoundaries(retval.Tree, retval.start, retval.stop);
    
        }
        catch (RecognitionException re) 
    	{
            ReportError(re);
            Recover(input,re);
        }
        finally 
    	{
        }
        return retval;
    }