public final void namespace_decl() throws RecognitionException {
        CommonTree id=null;

        try {
            // C:\\Users\\Timo\\EclipseProjects\\GalaxyX\\build\\classes\\com\\galaxyx\\treewalker\\GalaxyXDefinitionWalker.g:38:2: ( ^( NAMESPACE id= IDENTIFIER ( class_decl )* ) )
            // C:\\Users\\Timo\\EclipseProjects\\GalaxyX\\build\\classes\\com\\galaxyx\\treewalker\\GalaxyXDefinitionWalker.g:38:4: ^( NAMESPACE id= IDENTIFIER ( class_decl )* )
            {
            match(input,NAMESPACE,FOLLOW_NAMESPACE_in_namespace_decl83); 

            match(input, Token.DOWN, null); 
            id=(CommonTree)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_namespace_decl87); 

            		currentNamespace = table.getNamespace((id!=null?id.getText():null));
            		if(currentNamespace == null){
            			currentNamespace = table.addNamespace((id!=null?id.getText():null));
            		}
            	
            // C:\\Users\\Timo\\EclipseProjects\\GalaxyX\\build\\classes\\com\\galaxyx\\treewalker\\GalaxyXDefinitionWalker.g:45:3: ( class_decl )*
            loop2:
            do {
                int alt2=2;
                int LA2_0 = input.LA(1);

                if ( (LA2_0==CLASS) ) {
                    alt2=1;
                }


                switch (alt2) {
            	case 1 :
            	    // C:\\Users\\Timo\\EclipseProjects\\GalaxyX\\build\\classes\\com\\galaxyx\\treewalker\\GalaxyXDefinitionWalker.g:45:3: class_decl
            	    {
            	    pushFollow(FOLLOW_class_decl_in_namespace_decl95);
            	    class_decl();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop2;
                }
            } while (true);


            match(input, Token.UP, null); 

            		currentNamespace = null;
            	

            }

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