public final void compilationUnit() throws RecognitionException {
        try {
            // C:\\Documents and Settings\\Administrator\\workspace_android4\\myosotis\\grammar\\Calc.g:15:17: ( ( statement )+ )
            // C:\\Documents and Settings\\Administrator\\workspace_android4\\myosotis\\grammar\\Calc.g:15:19: ( statement )+
            {
            // C:\\Documents and Settings\\Administrator\\workspace_android4\\myosotis\\grammar\\Calc.g:15:19: ( statement )+
            int cnt1=0;
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( ((LA1_0>=ID && LA1_0<=NEWLINE)||(LA1_0>=15 && LA1_0<=16)) ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // C:\\Documents and Settings\\Administrator\\workspace_android4\\myosotis\\grammar\\Calc.g:15:19: statement
            	    {
            	    pushFollow(FOLLOW_statement_in_compilationUnit34);
            	    statement();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    if ( cnt1 >= 1 ) break loop1;
                        EarlyExitException eee =
                            new EarlyExitException(1, input);
                        throw eee;
                }
                cnt1++;
            } while (true);


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }