op << n.getOperator().getConst<BitVectorExtract>();
opType = POSTFIX;
break;
+ case kind::BITVECTOR_BITOF:
+ op << n.getOperator().getConst<BitVectorBitOf>();
+ opType = POSTFIX;
+ break;
case kind::BITVECTOR_REPEAT:
out << "BVREPEAT(";
toStream(out, n[0], depth, types, false);
using namespace CVC4::language::output;
switch(lang) {
- case LANG_SMTLIB_V1:
+ case LANG_SMTLIB_V1: // TODO the printer
return new printer::smt1::Smt1Printer();
case LANG_SMTLIB_V2:
case kind::DISTINCT: out << smtKindString(k) << " "; break;
case kind::CHAIN: break;
case kind::TUPLE: break;
+ case kind::FUNCTION_TYPE:
+ for(size_t i = 0; i < n.getNumChildren() - 1; ++i) {
+ if(i > 0) {
+ out << ' ';
+ }
+ out << n[i];
+ }
+ out << ") " << n[n.getNumChildren() - 1];
+ return;
case kind::SEXPR: break;
// bool theory
for(TNode::iterator i = n.begin(), iend = n.end();
i != iend; ) {
out << '(';
- toStream(out, (*i), toDepth < 0 ? toDepth : toDepth - 1, types);
+ toStream(out, *i, toDepth < 0 ? toDepth : toDepth - 1, types, 0);
out << ' ';
out << (*i).getType();
// The following code do stange things
return input::LANG_AUTO;
}
- throw OptionException(std::string("unknown input language " + language + "'"));
+ throw OptionException(std::string("unknown input language `" + language + "'"));
}/* toInputLanguage() */
}/* CVC4::language namespace */