26 return "distributive";
48 {
"binary",
"trivial"},
53 {
"series",
"distributive"},
58 while (is && isalnum(is.peek()))
74 return std::max(i1, i2);
An expressionset can implement several different sets of identities on expressions.
std::ostringstream os
The output stream: the corresponding C++ snippet to compile.
Traditional plus distribution. Used for series identities.
Trivial, plus associativity of sum and product.
#define BUILTIN_UNREACHABLE()
A mapping from strings to Values.
std::ostream & operator<<(std::ostream &o, type_t t)
identities meet(identities i1, identities i2)
Associative plus commutativity, and "idempotence" for sum.
std::istringstream is
The input stream: the specification to translate.
std::istream & operator>>(std::istream &is, identities &i)
Read from string form.
std::string to_string(identities i)
Wrapper around operator<<.
static identities ids(const driver &d)
Get the identities of the driver.
Strictly obey to the syntax.