binary_operator
binary_operator(source_location l, const char *o) :
struct divmod : public binary_operator<5, T>
using binary_operator<5, T>::binary_operator;
return binary_operator<5, T>::operator()();
expr = new binary_operator<6, std::plus<valty>>(l, "+");
expr = new binary_operator<6, std::minus<valty>>(l, "-");
expr = new binary_operator<5, std::multiplies<valty>>(l, "*");
expr = new binary_operator<8, std::less<valty>>(l, "<");
expr = new binary_operator<8, std::less_equal<valty>>(l, "<=");
expr = new binary_operator<7, lshift<valty>>(l, "<<");
expr = new binary_operator<8, std::greater<valty>>(l, ">");
expr = new binary_operator<8, std::greater_equal<valty>>(l, ">=");
expr = new binary_operator<7, rshift<valty>>(l, ">>");
expr = new binary_operator<9, std::equal_to<valty>>(l, "==");
expr = new binary_operator<9, std::not_equal_to<valty>>(l, "!=");
expr = new binary_operator<13, std::logical_and<valty>>(l, "&&");
expr = new binary_operator<10, std::bit_and<valty>>(l, "&");
expr = new binary_operator<12, std::logical_or<valty>>(l, "||");
expr = new binary_operator<14, std::bit_or<valty>>(l, "|");