#ifndef __CVC4__EXPR__ATTRIBUTE_H
#define __CVC4__EXPR__ATTRIBUTE_H
-#include <stdint.h>
-
#include <string>
-#include <ext/hash_map>
-
-#include "context/cdmap.h"
-#include "expr/node.h"
-#include "util/output.h"
+#include <stdint.h>
// include supporting templates
#define CVC4_ATTRIBUTE_H__INCLUDING__ATTRIBUTE_INTERNALS_H
#ifndef __CVC4__EXPR__ATTRIBUTE_INTERNALS_H
#define __CVC4__EXPR__ATTRIBUTE_INTERNALS_H
+#include <ext/hash_map>
+
+#include "context/cdmap.h"
+
namespace CVC4 {
namespace expr {
** Convenience class for scoping variable and type declarations.
**/
-#ifndef DECLARATION_SCOPE_H_
-#define DECLARATION_SCOPE_H_
+#ifndef DECLARATION_SCOPE_H
+#define DECLARATION_SCOPE_H
+
+#include <ext/hash_map>
#include "expr/expr.h"
#include "util/hash.h"
-#include <ext/hash_map>
-
namespace CVC4 {
class Type;
/** Push a scope level. */
void pushScope() throw ();
-};
+};/* class DeclarationScope */
-} // namespace CVC4
+}/* namespace CVC4 */
-#endif /* DECLARATION_SCOPE_H_ */
+#endif /* DECLARATION_SCOPE_H */
#include "expr/expr.h"
#include "expr/node_manager.h"
+#include "expr/expr_manager.h"
namespace CVC4 {
inline ExprManagerScope(const ExprManager& exprManager) :
d_nms(exprManager.getNodeManager()) {
}
-};
-
-}
+};/* class ExprManagerScope */
+}/* CVC4 namespace */
#endif /* __CVC4__EXPR_MANAGER_SCOPE_H */
** Public-facing expression manager interface, implementation.
**/
-#include "expr/node.h"
-#include "expr/expr.h"
-#include "expr/kind.h"
-#include "expr/metakind.h"
-#include "expr/type.h"
#include "expr/node_manager.h"
#include "expr/expr_manager.h"
#include "context/context.h"
// compiler directs the user to the template file instead of the
// generated one. We don't want the user to modify the generated one,
// since it'll get overwritten on a later build.
-#line 35 "${template}"
+#line 30 "${template}"
using namespace std;
using namespace CVC4::context;
#include "expr/kind.h"
#include "expr/type.h"
-#include "expr/expr.h"
${includes}
// compiler directs the user to the template file instead of the
// generated one. We don't want the user to modify the generated one,
// since it'll get overwritten on a later build.
-#line 37 "${template}"
+#line 36 "${template}"
namespace CVC4 {
class Expr;
+class TypeCheckingException;
class SmtEngine;
class NodeManager;
**/
#include "expr/expr.h"
-#include "expr/expr_manager.h"
#include "expr/node.h"
-#include "util/Assert.h"
-
-#include "util/output.h"
#include "expr/expr_manager_scope.h"
+#include "util/Assert.h"
${includes}
namespace CVC4 {
+class ExprManager;
+
namespace expr {
const int ExprSetDepth::s_iosIndex = std::ios_base::xalloc();
#ifndef __CVC4__EXPR_H
#define __CVC4__EXPR_H
-#include "expr/type.h"
#include <string>
#include <iostream>
#include <stdint.h>
+#include "util/exception.h"
+
${includes}
// This is a hack, but an important one: if there's an error, the
// compiler directs the user to the template file instead of the
// generated one. We don't want the user to modify the generated one,
// since it'll get overwritten on a later build.
-#line 36 "${template}"
+#line 37 "${template}"
namespace CVC4 {
class NodeTemplate;
class Expr;
+class ExprManager;
+class Type;
namespace expr {
class CVC4_PUBLIC ExprSetDepth;
static inline void setPrintTypes(std::ostream& out, bool printTypes) {
out.iword(s_iosIndex) = printTypes;
}
-};
+};/* class ExprPrintTypes */
}/* CVC4::expr namespace */
${getConst_instantiations}
-#line 388 "${template}"
+#line 566 "${template}"
namespace expr {
** Implementation of expression types
**/
+#include <string>
+
#include "expr/node_manager.h"
-#include "expr/expr_manager.h"
#include "expr/type.h"
#include "expr/type_node.h"
-#include "expr/type_constant.h"
#include "util/Assert.h"
-#include <string>
namespace CVC4 {
return out;
}
-Type Type::makeType(const TypeNode& typeNode) const
-{
+Type Type::makeType(const TypeNode& typeNode) const {
return Type(d_nodeManager, new TypeNode(typeNode));
}
Type::Type(NodeManager* nm, TypeNode* node)
: d_typeNode(node),
- d_nodeManager(nm)
-{
+ d_nodeManager(nm) {
}
Type::~Type() {
#ifndef __CVC4__TYPE_H
#define __CVC4__TYPE_H
-#include "util/output.h"
-#include "util/Assert.h"
-
#include <string>
#include <vector>
#include <limits.h>
#include <stdint.h>
+#include "util/Assert.h"
+
namespace CVC4 {
class NodeManager;
class ExprManager;
class TypeNode;
+
template <bool ref_count>
class NodeTemplate;
** Interface for expression types
**/
-#ifndef __CVC4__TYPE_CONSTANT_H_
-#define __CVC4__TYPE_CONSTANT_H_
+#include "cvc4_public.h"
+
+#ifndef __CVC4__TYPE_CONSTANT_H
+#define __CVC4__TYPE_CONSTANT_H
+
+#include <iostream>
namespace CVC4 {
REAL_TYPE,
/** The kind type (type of types) */
KIND_TYPE
-};
+};/* enum TypeConstant */
/**
* We hash the constants with their values.
};/* struct BoolHashStrategy */
inline std::ostream& operator<<(std::ostream& out, TypeConstant typeConstant) {
-
switch(typeConstant) {
case BOOLEAN_TYPE:
out << "BOOLEAN";
return out;
}
-}
+}/* CVC4 namespace */
-#endif /* __CVC4__TYPE_CONSTANT_H_ */
+#endif /* __CVC4__TYPE_CONSTANT_H */
return getConst<BitVectorSize>();
}
-
}/* CVC4 namespace */
#include "expr/kind.h"
#include "expr/metakind.h"
#include "util/Assert.h"
-#include "util/output.h"
namespace CVC4 {
#include "cvc4parser_public.h"
-#ifndef __CVC4__PARSER__PARSER_BUILDER_H_
-#define __CVC4__PARSER__PARSER_BUILDER_H_
+#ifndef __CVC4__PARSER__PARSER_BUILDER_H
+#define __CVC4__PARSER__PARSER_BUILDER_H
#include <string>
class ExprManager;
namespace parser {
-/*
+/*
class InputBuilder {
protected:
InputLanguage d_lang;
/** Set the parser to use the given string for its input. */
ParserBuilder& withStringInput(const std::string& input);
-};
+};/* class ParserBuilder */
-} /* namespace parser */
+}/* CVC4::parser namespace */
+}/* CVC4 namespace */
-} /* namespace CVC4 */
-#endif /* __CVC4__PARSER__PARSER_BUILDER_H_ */
+#endif /* __CVC4__PARSER__PARSER_BUILDER_H */
#include <ext/hash_map>
namespace std {
-using namespace __gnu_cxx;
+ using namespace __gnu_cxx;
}
+#include "expr/type.h"
#include "parser/parser.h"
#include "parser/smt/smt.h"
** Definitions of SMT2 constants.
**/
+#include "expr/type.h"
#include "parser/parser.h"
#include "parser/smt/smt.h"
#include "parser/smt2/smt2.h"
#include "cvc4_private.h"
-#ifndef __CVC4__THEORY__ARRAYS__THEORY_ARRAYS_TYPE_RULES_H_
-#define __CVC4__THEORY__ARRAYS__THEORY_ARRAYS_TYPE_RULES_H_
+#ifndef __CVC4__THEORY__ARRAYS__THEORY_ARRAYS_TYPE_RULES_H
+#define __CVC4__THEORY__ARRAYS__THEORY_ARRAYS_TYPE_RULES_H
namespace CVC4 {
namespace theory {
}/* CVC4::theory namespace */
}/* CVC4 namespace */
-#endif /* __CVC4__THEORY__ARRAYS__THEORY_ARRAYS_TYPE_RULES_H_ */
+#endif /* __CVC4__THEORY__ARRAYS__THEORY_ARRAYS_TYPE_RULES_H */
#include "cvc4_private.h"
-#ifndef __CVC4__THEORY_BOOL_TYPE_RULES_H_
-#define __CVC4__THEORY_BOOL_TYPE_RULES_H_
+#ifndef __CVC4__THEORY_BOOL_TYPE_RULES_H
+#define __CVC4__THEORY_BOOL_TYPE_RULES_H
namespace CVC4 {
namespace theory {
}
};
-} // boolean namespace
-} // theory namespace
-} // CVC4 namespace
+}/* namespace CVC4::theory::boolean */
+}/* namespace CVC4::theory */
+}/* namespace CVC4 */
-#endif /* __CVC4__THEORY_BOOL_TYPE_RULES_H_ */
+#endif /* __CVC4__THEORY_BOOL_TYPE_RULES_H */
#include "cvc4_private.h"
-#ifndef __CVC4__THEORY__BUILTIN__THEORY_BUILTIN_TYPE_RULES_H_
-#define __CVC4__THEORY__BUILTIN__THEORY_BUILTIN_TYPE_RULES_H_
+#ifndef __CVC4__THEORY__BUILTIN__THEORY_BUILTIN_TYPE_RULES_H
+#define __CVC4__THEORY__BUILTIN__THEORY_BUILTIN_TYPE_RULES_H
#include "expr/node.h"
#include "expr/type_node.h"
}/* CVC4::theory namespace */
}/* CVC4 namespace */
-#endif /* __CVC4__THEORY__BUILTIN__THEORY_BUILTIN_TYPE_RULES_H_ */
+#endif /* __CVC4__THEORY__BUILTIN__THEORY_BUILTIN_TYPE_RULES_H */
#include "cvc4_private.h"
-#ifndef __CVC4__THEORY__UF__THEORY_UF_TYPE_RULES_H_
-#define __CVC4__THEORY__UF__THEORY_UF_TYPE_RULES_H_
+#ifndef __CVC4__THEORY__UF__THEORY_UF_TYPE_RULES_H
+#define __CVC4__THEORY__UF__THEORY_UF_TYPE_RULES_H
namespace CVC4 {
namespace theory {
}/* CVC4::theory namespace */
}/* CVC4 namespace */
-#endif /* __CVC4__THEORY__UF__THEORY_UF_TYPE_RULES_H_ */
+#endif /* __CVC4__THEORY__UF__THEORY_UF_TYPE_RULES_H */
#include <cstdio>
#include "util/Assert.h"
-#include "util/exception.h"
-#include "util/tls.h"
using namespace std;
#include <cstdarg>
#include "util/exception.h"
-#include "util/output.h"
#include "util/tls.h"
+// output.h not strictly needed for this header, but it _is_ needed to
+// actually _use_ anything in this header, so let's include it.
+#include "util/output.h"
+
namespace CVC4 {
class CVC4_PUBLIC AssertionException : public Exception {
#include "cvc4_public.h"
-#ifndef __CVC4__ARRAY_H_
-#define __CVC4__ARRAY_H_
-
-#include <iostream>
-#include "util/Assert.h"
+#ifndef __CVC4__ARRAY_H
+#define __CVC4__ARRAY_H
// we get ArrayType right now by #including type.h.
// array.h is still useful for the auto-generated kinds #includes.
#include "expr/type.h"
-#endif /* __CVC4__ARRAY_H_ */
+#endif /* __CVC4__ARRAY_H */
return os << "[" << bv.high << ":" << bv.low << "]";
}
-}
+}/* CVC4 namespace */
#include "cvc4_public.h"
-#ifndef __CVC4__BITVECTOR_H_
-#define __CVC4__BITVECTOR_H_
+#ifndef __CVC4__BITVECTOR_H
+#define __CVC4__BITVECTOR_H
#include <iostream>
#include "util/Assert.h"
std::ostream& operator <<(std::ostream& os, const BitVector& bv);
std::ostream& operator <<(std::ostream& os, const BitVectorExtract& bv);
-}
+}/* CVC4 namespace */
-#endif /* __CVC4__BITVECTOR_H_ */
+#endif /* __CVC4__BITVECTOR_H */
#ifndef __CVC4__CONFIGURATION_PRIVATE_H
#define __CVC4__CONFIGURATION_PRIVATE_H
-#include "cvc4autoconfig.h"
-
using namespace std;
namespace CVC4 {
**/
#include "util/congruence_closure.h"
-#include "util/Assert.h"
-
-#include <string>
-#include <list>
-#include <algorithm>
-#include <utility>
-#include <ext/hash_map>
using namespace std;
namespace CVC4 {
-
}/* CVC4 namespace */
#ifndef __CVC4__UTIL__CONGRUENCE_CLOSURE_H
#define __CVC4__UTIL__CONGRUENCE_CLOSURE_H
+#include <sstream>
#include <list>
+
#include <ext/hash_map>
-#include <ext/hash_set>
-#include <sstream>
#include "expr/node_manager.h"
#include "expr/node.h"
-#include "context/context.h"
#include "context/cdmap.h"
#include "context/cdset.h"
#include "context/cdlist.h"
#include "util/decision_engine.h"
#include "util/Assert.h"
-#include "expr/node.h"
namespace CVC4 {
** \todo document this file
**/
-#ifndef __CVC4__HASH_H_
-#define __CVC4__HASH_H_
+#ifndef __CVC4__HASH_H
+#define __CVC4__HASH_H
#include <ext/hash_map>
namespace std { using namespace __gnu_cxx; }
size_t operator()(const std::string& str) const {
return std::hash<const char*>()(str.c_str());
}
-};
+};/* struct StringHashFunction */
-}
+}/* CVC4 namespace */
-#endif /* __CVC4__HASH_H_ */
+#endif /* __CVC4__HASH_H */
#define __CVC4__INTEGER_H
#include <string>
+#include <sstream>
#include <iostream>
+
#include <cln/integer.h>
-#include <sstream>
#include <cln/input.h>
#include <cln/integer_io.h>
-#include "util/Assert.h"
namespace CVC4 {
#include <string>
#include <iostream>
+
#include "util/gmp_util.h"
namespace CVC4 {
**/
#include <iostream>
+
#include "util/output.h"
using namespace std;
#include "cvc4autoconfig.h"
#include "util/rational.h"
-#include "util/integer.h"
#include <string>
#ifndef CVC4_CLN_IMP
#include <cln/input.h>
#include <cln/rational_io.h>
#include <cln/number_io.h>
+
#include "util/Assert.h"
#include "util/integer.h"
#include "cvc4autoconfig.h"
#include "util/rational.h"
-#include "util/integer.h"
#include <string>
#ifndef CVC4_GMP_IMP
#include <gmp.h>
#include <string>
+
#include "util/integer.h"
namespace CVC4 {
#ifndef __CVC4__RESULT_H
#define __CVC4__RESULT_H
-#include "util/Assert.h"
-
namespace CVC4 {
// TODO: perhaps best to templatize Result on its Kind (SAT/Validity),
#include "cvc4_public.h"
-#ifndef __CVC4__SEXPR_H_
-#define __CVC4__SEXPR_H_
-
-#include "util/Assert.h"
+#ifndef __CVC4__SEXPR_H
+#define __CVC4__SEXPR_H
#include <vector>
#include <string>
+#include "util/Assert.h"
+
namespace CVC4 {
/**
return out;
}
-}
+}/* CVC4 namespace */
-#endif /* __CVC4__SEXPR_H_ */
+#endif /* __CVC4__SEXPR_H */
std::string Stat::s_delim(",");
-
-
-
-void StatisticsRegistry::flushStatistics(std::ostream& out){
+void StatisticsRegistry::flushStatistics(std::ostream& out) {
#ifdef CVC4_STATISTICS_ON
- for(StatSet::iterator i=d_registeredStats.begin();i != d_registeredStats.end();++i){
+ for(StatSet::iterator i = d_registeredStats.begin();
+ i != d_registeredStats.end();
+ ++i) {
Stat* s = *i;
s->flushStat(out);
out << std::endl;
}
#endif
-}
+}/* StatisticsRegistry::flushStatistics() */