summaryrefslogtreecommitdiff
path: root/src/parser
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@cs.nyu.edu>2013-09-05 20:59:18 -0400
committerMorgan Deters <mdeters@cs.nyu.edu>2013-09-09 17:50:09 -0400
commite5044d89c715ac6c0d41a731b58a9c672d2d524e (patch)
tree564d0fde03be9525b0912800849f92016b681192 /src/parser
parentb747578dee53489326bf53743cfc4f83c467cbfd (diff)
Fix declare-datatypes dumping bug (bug 385).
Diffstat (limited to 'src/parser')
-rw-r--r--src/parser/cvc/Cvc.g6
-rw-r--r--src/parser/parser.cpp6
-rw-r--r--src/parser/parser.h3
3 files changed, 8 insertions, 7 deletions
diff --git a/src/parser/cvc/Cvc.g b/src/parser/cvc/Cvc.g
index cbdee9c74..03d1e7a8a 100644
--- a/src/parser/cvc/Cvc.g
+++ b/src/parser/cvc/Cvc.g
@@ -1951,15 +1951,15 @@ datatypeDef[std::vector<CVC4::Datatype>& datatypes]
* below. */
: identifier[id,CHECK_NONE,SYM_SORT] { PARSER_STATE->pushScope(); }
( LBRACKET identifier[id2,CHECK_UNDECLARED,SYM_SORT] {
- t = PARSER_STATE->mkSort(id2);
+ t = PARSER_STATE->mkSort(id2, ExprManager::SORT_FLAG_PLACEHOLDER);
params.push_back( t );
}
( COMMA identifier[id2,CHECK_UNDECLARED,SYM_SORT] {
- t = PARSER_STATE->mkSort(id2);
+ t = PARSER_STATE->mkSort(id2, ExprManager::SORT_FLAG_PLACEHOLDER);
params.push_back( t ); }
)* RBRACKET
)?
- { datatypes.push_back(Datatype(id,params));
+ { datatypes.push_back(Datatype(id, params));
if(!PARSER_STATE->isUnresolvedType(id)) {
// if not unresolved, must be undeclared
PARSER_STATE->checkDeclaration(id, CHECK_UNDECLARED, SYM_SORT);
diff --git a/src/parser/parser.cpp b/src/parser/parser.cpp
index 42ca27caf..5d9b6c7ae 100644
--- a/src/parser/parser.cpp
+++ b/src/parser/parser.cpp
@@ -231,9 +231,9 @@ Parser::defineParameterizedType(const std::string& name,
}
SortType
-Parser::mkSort(const std::string& name) {
+Parser::mkSort(const std::string& name, uint32_t flags) {
Debug("parser") << "newSort(" << name << ")" << std::endl;
- Type type = d_exprManager->mkSort(name);
+ Type type = d_exprManager->mkSort(name, flags);
defineType(name, type);
return type;
}
@@ -248,7 +248,7 @@ Parser::mkSortConstructor(const std::string& name, size_t arity) {
}
SortType Parser::mkUnresolvedType(const std::string& name) {
- SortType unresolved = mkSort(name);
+ SortType unresolved = mkSort(name, ExprManager::SORT_FLAG_PLACEHOLDER);
d_unresolved.insert(unresolved);
return unresolved;
}
diff --git a/src/parser/parser.h b/src/parser/parser.h
index d07756cf4..b6ba482b7 100644
--- a/src/parser/parser.h
+++ b/src/parser/parser.h
@@ -411,7 +411,8 @@ public:
/**
* Creates a new sort with the given name.
*/
- SortType mkSort(const std::string& name);
+ SortType mkSort(const std::string& name,
+ uint32_t flags = ExprManager::SORT_FLAG_NONE);
/**
* Creates a new sort constructor with the given name and arity.
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback