예제 #1
0
 virtual public void compound_assignment_expression(compound_assignment_expression ast, int parent)
 {
     //        int myprec = prec("=");
     //        if (myprec <= parent)
     //            parenexpr(ast);
     //        else {
     //            visit(ast.e1, myprec);
     //            Write(" {0} ", ast.op.str);
     //            visit(ast.e2, myprec);
     //        }
 }
예제 #2
0
    virtual public void compound_assignment_expression(compound_assignment_expression ast, int parent)
    {
        int myprec = prec("=");

        if (myprec <= parent)
        {
            parenexpr(ast);
        }
        else
        {
            visit(ast.e1, myprec);
            Write(" {0} ", ast.op.str);
            visit(ast.e2, myprec);
        }
    }
예제 #3
0
 public virtual expression compound_assignment_expression(compound_assignment_expression ast, int lvalue, int rvalue)
 {
     ast.e1 = expression(ast.e1, 1, 1);
     ast.e2 = expression(ast.e2, 0, rvalue + 1);
     return(ast);
 }