std::istream & operator>>(std::istream &is, identities &i)
std::ostream & operator<<(std::ostream &o, type_t t)
std::string to_string(identities i)
identities meet(identities i1, identities i2)
Trivial identities plus series identities.
std::istringstream is
The input stream: the specification to translate.
std::ostringstream os
The output stream: the corresponding C++ snippet to compile.
char eat(std::istream &is, char c)
Check lookahead character and advance.
ATTRIBUTE_NORETURN void fail_reading(std::istream &is, std::string explanation)
Throw an exception after failing to read from is.
identities
A ratexpset can implement several different sets of identities on expressions.
#define BUILTIN_UNREACHABLE()