Exemplo n.º 1
0
 public virtual expression cond_expression(cond_expression ast, int lvalue, int rvalue)
 {
     ast.cond    = expression(ast.cond);
     ast.failure = expression(ast.failure);
     ast.success = expression(ast.success);
     return(wrap(ast, rvalue));
 }
Exemplo n.º 2
0
 virtual public void cond_expression(cond_expression ast, int parent)
 {
     //        int myprec = prec("?:");
     //        if (myprec <= parent)
     //            parenexpr(ast);
     //        else {
     //            visit(ast.cond, myprec);
     //            Write(" ? ");
     //            visit(ast.success, myprec);
     //            Write(" : ");
     //            visit(ast.failure, myprec);
     //        }
 }
Exemplo n.º 3
0
    virtual public void cond_expression(cond_expression ast, int parent)
    {
        int myprec = prec("?:");

        if (myprec <= parent)
        {
            parenexpr(ast);
        }
        else
        {
            visit(ast.cond, myprec);
            Write(" ? ");
            visit(ast.success, myprec);
            Write(" : ");
            visit(ast.failure, myprec);
        }
    }