public pair ge_add_expression(TextArea area,SimpleNode node,String prefix)throws SemanticErr{
        SimpleNode left = (SimpleNode) node.jjtGetChild(0);

        int ex_num = node.jjtGetNumChildren();
        if(ex_num==1)
            return ge_mul_expression(area, left, prefix);
        else {
            pair left_pair =ge_mul_expression(area, left, prefix);

            for (int i = 0; i < ex_num - 2; ) {

                SimpleNode right = (SimpleNode) node.jjtGetChild(i + 2);
                pair right_pair =ge_mul_expression(area,right,prefix);

                SimpleNode ope = (SimpleNode) node.jjtGetChild(i + 1);
                if(ope.jjtGetFirstToken().toString().equals("+"))
                {
                    ge_operation(area,"+",left_pair.var,right_pair.var,prefix);
                    left_pair.ret=1;
                    left_pair.var="%add"+String.valueOf(add_num-1);
                }
                else if(ope.jjtGetFirstToken().toString().equals("-")){
                    ge_operation(area,"-",left_pair.var,right_pair.var,prefix);
                    left_pair.ret=2;
                    left_pair.var="%sub"+String.valueOf(sum_num-1);
                }
                i = i + 2;

            }
            return left_pair;
        }
    }