virtual public void binary_expression(binary_expression ast, int parent) { int myprec = prec(ast.op); if (myprec <= parent) { parenexpr(ast); } else { visit(ast.e1, myprec); Write(" {0} ", ast.op.str); visit(ast.e2, myprec); } }
public virtual expression binary_expression(binary_expression ast, int lvalue, int rvalue) { ast.e1 = expression(ast.e1); ast.e2 = expression(ast.e2); return(wrap(ast, rvalue)); }