Lines Matching refs:expr
720 binary_operator_base *expr = nullptr;
728 expr = new binary_operator<6, std::plus<valty>>(l, "+");
731 expr = new binary_operator<6, std::minus<valty>>(l, "-");
734 expr = new divmod<std::modulus<valty>>(l, "/");
737 expr = new binary_operator<5, std::multiplies<valty>>(l, "*");
740 expr = new divmod<std::divides<valty>>(l, "/");
751 expr = new binary_operator<8, std::less<valty>>(l, "<");
755 expr = new binary_operator<8, std::less_equal<valty>>(l, "<=");
759 expr = new binary_operator<7, lshift<valty>>(l, "<<");
772 expr = new binary_operator<8, std::greater<valty>>(l, ">");
776 expr = new binary_operator<8, std::greater_equal<valty>>(l, ">=");
780 expr = new binary_operator<7, rshift<valty>>(l, ">>");
791 expr = new binary_operator<9, std::equal_to<valty>>(l, "==");
800 expr = new binary_operator<9, std::not_equal_to<valty>>(l, "!=");
805 expr = new binary_operator<13, std::logical_and<valty>>(l, "&&");
809 expr = new binary_operator<10, std::bit_and<valty>>(l, "&");
815 expr = new binary_operator<12, std::logical_or<valty>>(l, "||");
819 expr = new binary_operator<14, std::bit_or<valty>>(l, "|");
844 expression_ptr e(expr);
850 expr->lhs = std::move(lhs);
851 if (rhs->precedence() < expr->precedence())
853 expr->rhs = std::move(rhs);
861 rhs_op->insert_left(expr);