help = "the strategy of LB rule application: 0-lazy, 1-eager, 2-no"
[[option]]
- name = "stdASCII"
+ name = "stdPrintASCII"
category = "regular"
- long = "strings-std-ascii"
+ long = "strings-print-ascii"
type = "bool"
- default = "true"
- predicates = ["unsignedLessEqual2"]
+ default = "false"
read_only = true
- help = "the alphabet contains only characters from the standard ASCII or the extended one"
+ help = "the alphabet contains only printable characters from the standard extended ASCII"
[[option]]
name = "stringFMF"
namespace strings {
RegExpOpr::RegExpOpr()
- : d_lastchar(options::stdASCII() ? '\x7f' : '\xff'),
+ : d_lastchar(options::stdPrintASCII() ? '\x7f' : '\xff'),
d_emptyString(NodeManager::currentNM()->mkConst(::CVC4::String(""))),
d_true(NodeManager::currentNM()->mkConst(true)),
d_false(NodeManager::currentNM()->mkConst(false)),
d_char_end(),
d_sigma(NodeManager::currentNM()->mkNode(kind::REGEXP_SIGMA,
std::vector<Node>{})),
- d_sigma_star(
- NodeManager::currentNM()->mkNode(kind::REGEXP_STAR, d_sigma)) {}
+ d_sigma_star(NodeManager::currentNM()->mkNode(kind::REGEXP_STAR, d_sigma))
+{
+}
RegExpOpr::~RegExpOpr() {}
d_true = NodeManager::currentNM()->mkConst( true );
d_false = NodeManager::currentNM()->mkConst( false );
- d_card_size = 128;
+ d_card_size = 256;
+ if (options::stdPrintASCII())
+ {
+ d_card_size = 128;
+ }
}
TheoryStrings::~TheoryStrings() {
void TheoryStrings::presolve() {
Debug("strings-presolve") << "TheoryStrings::Presolving : get fmf options " << (options::stringFMF() ? "true" : "false") << std::endl;
-
- if(!options::stdASCII()) {
- d_card_size = 256;
- }
}
if(ch[0] > ch[1]) {
throw TypeCheckingExceptionPrivate(n, "expecting the first constant is less or equal to the second one in regexp range");
}
- if(options::stdASCII() && ch[1] > '\x7f') {
- throw TypeCheckingExceptionPrivate(n, "expecting standard ASCII characters in regexp range, or please set the option strings-std-ascii to be false");
+ if (options::stdPrintASCII() && ch[1] > '\x7f')
+ {
+ throw TypeCheckingExceptionPrivate(n,
+ "expecting standard ASCII "
+ "characters in regexp range when "
+ "strings-print-ascii is true");
}
}
return nodeManager->regExpType();