public final Node mulexpr() throws RecognitionException {
        Node value = null;

        Node e = null;


        try {
            // C:\\Documents and Settings\\Administrator\\workspace_android4\\myosotis\\grammar\\Calc.g:46:1: (e= unaexpr ( '*' e= unaexpr | '/' e= unaexpr )* )
            // C:\\Documents and Settings\\Administrator\\workspace_android4\\myosotis\\grammar\\Calc.g:46:3: e= unaexpr ( '*' e= unaexpr | '/' e= unaexpr )*
            {
            pushFollow(FOLLOW_unaexpr_in_mulexpr131);
            e=unaexpr();

            state._fsp--;

            value = e;
            // C:\\Documents and Settings\\Administrator\\workspace_android4\\myosotis\\grammar\\Calc.g:47:1: ( '*' e= unaexpr | '/' e= unaexpr )*
            loop4:
            do {
                int alt4=3;
                int LA4_0 = input.LA(1);

                if ( (LA4_0==19) ) {
                    alt4=1;
                }
                else if ( (LA4_0==20) ) {
                    alt4=2;
                }


                switch (alt4) {
            	case 1 :
            	    // C:\\Documents and Settings\\Administrator\\workspace_android4\\myosotis\\grammar\\Calc.g:47:3: '*' e= unaexpr
            	    {
            	    match(input,19,FOLLOW_19_in_mulexpr137); 
            	    pushFollow(FOLLOW_unaexpr_in_mulexpr141);
            	    e=unaexpr();

            	    state._fsp--;


            	    	Node temp = new Node(); 
            	    	temp.op = Node.OP_TIMES;
            	    	temp.left = value;
            	    	temp.right = e;
            	    	value = temp;


            	    }
            	    break;
            	case 2 :
            	    // C:\\Documents and Settings\\Administrator\\workspace_android4\\myosotis\\grammar\\Calc.g:55:3: '/' e= unaexpr
            	    {
            	    match(input,20,FOLLOW_20_in_mulexpr148); 
            	    pushFollow(FOLLOW_unaexpr_in_mulexpr152);
            	    e=unaexpr();

            	    state._fsp--;


            	    	Node temp = new Node(); 
            	    	temp.op = Node.OP_DIVIDE;
            	    	temp.left = value;
            	    	temp.right = e;
            	    	value = temp;


            	    }
            	    break;

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


            }

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