summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-02-26TheoryUFWhite tests are added. There are also accompanying bug fixes. These ↵Tim King
currently do not pass. (See bug 39.) I modified node.h/cpp to get gdb debug printing working again
2010-02-26Fixed a bug in CDList reallocation. (Also corrected a couple whitespace ↵Tim King
problems.)
2010-02-26Changing the hashing in attributes to what Nodes do, i.e. hash on the id of ↵Dejan Jovanović
the node-value. This keeps coming up so we should rename the .hash() method in the node-value to something else. Morgan, feel free to change, but I had to go in as we were stuck on infinite parsing again.
2010-02-25Adding Node::getOperator()Christopher L. Conway
Removing references to ExprManager from Type, moving Type creation into NodeManager
2010-02-25Updated uf to reflect APPLY structure after conversation with Chris. Also ↵Tim King
corrected conflict generation to reflect this morning's discussion.
2010-02-25* src/expr/node_builder.h: fixed some overly-aggressive refcount decrementing.Morgan Deters
There remain memory leaks (and some over-decrementing of refcounts) that I've identified; another commit forthcoming. * src/expr/attribute.h: keys are now NodeValue* instead of TNode * src/theory/output_channel.h: change OutputChannel::conflict() to the negation of what we had before: it now takes an AND of TRUE literals as a conflict clause rather than an OR of FALSE ones. * src/expr/node.cpp: (non-template) CVC4::expr::debugPrint() routine for use inside gdb * src/expr/node.h: remove Node::debugPrint() member (now a function instead of a member function, since Node is now a template it wasn't being properly instantiated(?) and couldn't be called from gdb) * src/expr/Makefile.am: add node.cpp * src/expr/node_manager.h: code formatting
2010-02-25* src/expr/node.h: add a copy constructor. Apparently GCC doesn'tMorgan Deters
recognize an instantiation of the join conversion/copy ctor with ref_count = ref_count_1 as a copy constructor. Problems with reference counts ensue. * src/theory/theory.h, src/theory/theory.cpp: Theory base implementation work. Changed from continuation-style theory calls to having an data member for the output channel. registerTerm() and preRegisterTerm() work. * src/theory/output_channel.h, src/theory/theory.h, src/theory/theory.cpp, src/theory/uf/theory_uf.h, src/theory/uf/theory_uf.cpp: merged ExplainOutputChannel into OutputChannel. * test/unit/expr/node_black.h: remove testPlusNode(), testUMinusNode(), testMultNode(). * src/expr/attribute.h: new facilities ManagedAttribute<> and CDAttribute<>, and add new template parameters to Attribute<>. Make CDAttribute<>s work with context manager. * src/expr/attribute.h, src/expr/node_manager.h: VarNameAttr and TypeAttr are now "owned" (defined) by the NodeManager. The AttributeManager knows nothing of specific attributes, it just as all the code for dealing generically with attributes. * test/unit/expr/node_white.h: test new attribute facilities. * src/expr/soft_node.h: removed: We now have TNode, so SoftNode goes away. * src/theory/Makefile.am: fixed improper linking of theories * src/theory/theory_engine.h: some implementation work (mainly stubs for now, just to make sure TheoryUF can be instantiated properly, etc.) * src/expr/node_value.cpp, src/expr/node_value.h: move a number of function implementations to the header and make them inline * src/expr/node_manager.cpp, src/expr/node_manager.h: move a number of function implementations to the header and make them inline * src/theory/theoryof_table_prologue.h, src/theory/theoryof_table_epilogue.h, src/theory/mktheoryof, src/theory/Makefile.am: make the theoryOf() table from kinds and implement TheoryEngine::theoryOf(). * src/theory/arith/Makefile, src/theory/bool/Makefile: generated these stub Makefiles (with contrib/addsourcedir) as per policy * src/theory/arith, src/theory/bool [directory properties]: add .deps to svn:ignore. * contrib/configure-in-place: permit configuring "in-place" in the source directory. * contrib/get-authors, contrib/dimacs_to_smt.pl, contrib/update-copyright.pl, contrib/get-authors, contrib/addsourcedir, src/expr/mkkind: copyright notice * src/expr/node_manager.h, src/expr/node_builder.h, src/prop/prop_engine.h, src/prop/prop_engine.cpp, src/theory/theory_engine.h, src/smt/smt_engine.h, src/smt/smt_engine.cpp, src/theory/output_channel.h: turn "const Node&"-typed formal parameters into "TNode" * src/theory/bool, src/theory/booleans: "bool" directory renamed "booleans" to avoid keyword clash on containing namespace * src/theory/booleans/theory_def.h, src/theory/uf/theory_def.h, src/theory/arith/theory_def.h: "define" a theory simply (for automatic theoryOf() generator). * src/Makefile.am: build theory subdirectory before prop, smt, etc. so that src/theory/theoryof_table.h header gets generated before it's needed * src/expr/node_prologue.h, src/expr/node_middle.h: move "Kind" into a separate CVC4::kind namespace to avoid its contents from cluttering the CVC4 root namespace. Import the symbol "Kind" into the CVC4 namespace but not the enum values. * src/expr/node_manager.h, src/expr/node.h, src/expr/node_value.h, src/expr/node_value.cpp, src/expr/expr.cpp, src/theory/uf/theory_uf.cpp, src/prop/cnf_stream.cpp, src/parser/smt/smt_parser.g, src/parser/cvc/cvc_parser.g, src/parser/antlr_parser.cpp, test/unit/expr/node_white.h, test/unit/expr/node_black.h, test/unit/expr/kind_black.h, test/unit/expr/node_builder_black.h: update for having moved Kind into CVC4::kind. * src/parser/parser.cpp: added file-does-not-exist check (was failing silently).
2010-02-25Created basic node builder and kind tests. Also fixed a couple of node ↵Tim King
builder problems.
2010-02-24Cleaned up and documented ecdata and theory_uf.Tim King
2010-02-24Committing small changes to attribute, and theory to avoid future merge ↵Tim King
problems for Moragn. Also cleaned up theory uf and ecdata, and updated both to reflect attribute. Should be close now.
2010-02-23Minor optimizations to parser (use const string& for ids, keep only one ↵Christopher L. Conway
binding in symtab)
2010-02-23cosmetic changes, comments, and renaming of Expr related stuff to Node ↵Dejan Jovanović
(leftovers from before switching to Node)
2010-02-22finally worksDejan Jovanović
2010-02-22Merging from branch branches/Liana r241Dejan Jovanović
2010-02-22Switching to types-as-attributes in parserChristopher L. Conway
2010-02-22* src/expr/attribute.h: fixed an issue with "const pointer"-valuedMorgan Deters
attributes. * src/expr/attribute.h, src/expr/node_manager.h, src/expr/node.h: hasAttribute() and getAttribute() are now const member functions.
2010-02-22* configure.ac: Remove doc/ from search path for Makefile.amsMorgan Deters
* configure.ac, test/unit/Makefile.am: Resolved an issue where even when not testing, one unit test was built. * Re-ran contrib/update-copyright.pl on all source files to ensure consistent and correct header comments. * contrib/get-authors: Change definition of "minor contributor" to >= 10% of lines (rather than strictly greater than 10% of lines)
2010-02-22Re-committing revision 232 properly:Morgan Deters
* Add virtual destructors to CnfStream, Theory, OutputChannel, and ExplainOutputChannel. Safer and stops a compiler warning. * node attributes: fix compiler warnings on 64-bit. * Node: add asserts to make sure the current NodeManager is non-NULL when it's needed. This can happen when public-facing functions don't properly set the node manager, and it can look like a bug in another part of the library. Also some code format cleanup. * configure.ac, config/cvc4.m4: added --enable-static-binary (see discussion on bug 33), fixed bad configure lines (bug 19), added documentation for some things. * config.h.in: removed; it's auto-generated.
2010-02-22undoing improperly-committed revision 232; will re-commit to get "svn blame" ↵Morgan Deters
correct, etc..
2010-02-22* Add virtual destructors to CnfStream, Theory, OutputChannel, andCesare Tinelli
ExplainOutputChannel. Safer and stops a compiler warning. * node attributes: fix compiler warnings on 64-bit. * Node: add asserts to make sure the current NodeManager is non-NULL when it's needed. This can happen when public-facing functions don't properly set the node manager, and it can look like a bug in another part of the library. Also some code format cleanup. * configure.ac, config/cvc4.m4: added --enable-static-binary (see discussion on bug 32), fixed bad configure lines (bug 19), added documentation for some things. * config.h.in: removed; it's auto-generated.
2010-02-22Small changes to the smt-engine, removed the assertions list.Dejan Jovanović
2010-02-22resolve bug 32; public-facing interface functions in expr package must set ↵Morgan Deters
current NodeManager
2010-02-22fix bug 33 (statically link the "cvc4" binary); also main driver cleanupMorgan Deters
2010-02-22fix bug 22 (remove tracing from non-trace builds; remove all outputMorgan Deters
from muzzled builds) add public-facing CVC4::Configuration class that gives CVC4's (static) configuration (whether debugging is enabled, assertions, version information, etc...) add some whitebox tests for assertions, output classes, and new CVC4::Configuration class main driver now gets about() information from CVC4::Configuration. configure.ac now more flexible at specifying major/minor/release versions of CVC4 add --show-config option that dumps CVC4's static configuration commented option processing strings in src/main/getopt.cpp fixed some compilation problems for muzzled builds. fixed some test code for non-assertion builds (where no assertions are expected)
2010-02-19specialized implementation for boolean node attributes ("flags"): they now ↵Morgan Deters
share memory words properly; also, implementations of some output functionality
2010-02-19* Attribute infrastructure -- static design. Documentation is coming.Morgan Deters
See test/unit/expr/node_white.h for use examples, including how to define new attribute kinds. Also: * fixes to test infrastructure * minor changes to code formatting throughout * attribute tests in test/unit/expr/node_white.h * fixes to NodeManagerScope ordering * use NodeValue::getKind() to properly deal with UNDEFINED_KIND (removing compiler warning) * ExprManager: add proper NodeManagerScope to public-facing member functions * store variable names and types in attributes * SoftNode is a placeholder, not a real implementation
2010-02-19Changing minArity of AND/OR to 1 in SMT parserChristopher L. Conway
2010-02-18Adding --no-checking option to disable semantic checks in parserChristopher L. Conway
2010-02-18Rm'ing doc from SUBDIRSChristopher L. Conway
2010-02-18Adding doxygen configuration parameters and doxygen-doc Makefile targetChristopher L. Conway
2010-02-17Initial draft of TheoryUF. Should compile without problems. A decent amount ↵Tim King
of functionality is stubbed out. Still needs a bit of cleanup.
2010-02-17fix bug 27: --with-cxxtest-dir=(relative-path) now worksMorgan Deters
2010-02-16Moving parser error checking into AntlrParserChristopher L. Conway
2010-02-16Adding --parse-only optionChristopher L. Conway
2010-02-16removing assertion and warning that shouldn't be there. adding ↵Dejan Jovanović
initialization of kind to undefined to a default constructor.
2010-02-16Removing spurious commit of configureChristopher L. Conway
2010-02-16Converting semantic predicates in parser to AlwaysAssertionsChristopher L. Conway
2010-02-13simplification minisat Dejan Jovanović
2010-02-13Improvements to CNF conversion when already in CNFDejan Jovanović
2010-02-12build fixDejan Jovanović
2010-02-12Fix to compile out Debug(...) << ... statements in optimized mode. Someone ↵Dejan Jovanović
please look to see if it makes sense.
2010-02-12Changes to hashing that solve the xinetd boolean benchmark in 14s (from ↵Dejan Jovanović
~25min). Switched to standard hash_set, hash_map, new hash for the vector of node values (from boost), changed the hash for nodes to be over id's, all the hash values are now size_t. The parser is down from 11s to 10s on the benchmark, so most of the solve time is parsing and we need to figure this out.
2010-02-11svn ignoreDejan Jovanović
2010-02-11Adding precedence regressionsChristopher L. Conway
2010-02-10note on setup(); for discussion at 2010.02.11 meetingMorgan Deters
2010-02-10svn:ignore for build stuff; add Liana to AUTHORSMorgan Deters
2010-02-10fixing annoying eclipse build settings, no more broken pipe errors with ↵Dejan Jovanović
these settings
2010-02-10Added calls to destructor in CDList plus optional flag to disable.Clark Barrett
2010-02-09Changes to the CNF conversion and the SAT solver. All regression pass now, ↵Dejan Jovanović
and we're ready for nightly testing. We should not add regression tests that test future behaviour, as the builds will nag for all failing regressions. Thus, I've separated the multi-query regressions into multiple regressions until the cnf/context/sat is able to handle it. Also, fixed a typo in the CVC parser.
2010-02-09removing other pieces of autotools stuff to fix bug #24Morgan Deters
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback