summaryrefslogtreecommitdiff
path: root/src/parser
diff options
context:
space:
mode:
authorajreynol <andrew.j.reynolds@gmail.com>2016-09-14 16:41:27 -0500
committerajreynol <andrew.j.reynolds@gmail.com>2016-09-14 16:41:27 -0500
commitd43e5fb294d89ba69f7d2607a12c8700b7ec9345 (patch)
treedde7459b84aa182fefdcdafd4d004fada98b8fd8 /src/parser
parentbeb73911f71daa6711390264221e7b4de7dc8c6c (diff)
Support for unique variable generation in node manager.
Diffstat (limited to 'src/parser')
-rw-r--r--src/parser/smt2/Smt2.g2
-rw-r--r--src/parser/smt2/smt2.cpp2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/parser/smt2/Smt2.g b/src/parser/smt2/Smt2.g
index 29d3e45b6..f88b30212 100644
--- a/src/parser/smt2/Smt2.g
+++ b/src/parser/smt2/Smt2.g
@@ -1610,7 +1610,7 @@ term[CVC4::Expr& expr, CVC4::Expr& expr2]
} else if(f.getKind() == CVC4::kind::SEP_NIL_REF) {
//We don't want the nil reference to be a constant: for instance, it could be of type Int but is not a const rational.
//However, the expression has 0 children. So we convert to a SEP_NIL variable.
- expr = EXPR_MANAGER->mkSepNil(type);
+ expr = EXPR_MANAGER->mkUniqueVar(type, kind::SEP_NIL);
} else {
if(f.getType() != type) {
PARSER_STATE->parseError("Type ascription not satisfied.");
diff --git a/src/parser/smt2/smt2.cpp b/src/parser/smt2/smt2.cpp
index a46eae475..8db344f92 100644
--- a/src/parser/smt2/smt2.cpp
+++ b/src/parser/smt2/smt2.cpp
@@ -368,6 +368,8 @@ void Smt2::setLogic(std::string name) {
name = "UFBV";
} else if(name == "SLIA") {
name = "UFSLIA";
+ } else if(name == "SAT") {
+ name = "UF";
} else if(name == "ALL_SUPPORTED") {
//no change
} else {
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback