[Printer] Only quote `set-info` value if necessary (#7262)
authorAndres Noetzli <andres.noetzli@gmail.com>
Thu, 30 Sep 2021 02:37:22 +0000 (19:37 -0700)
committerGitHub <noreply@github.com>
Thu, 30 Sep 2021 02:37:22 +0000 (02:37 +0000)
PR #7240 changed the printing of set-info to always include quote the
value. This commit changes the policy to only quote a symbol if
necessary using existing an existing helper method. Otherwise,
(set-info :status sat) is for example printed as (set-info :status |sat|), which is a bit unusual and may break certain scripts.

src/printer/smt2/smt2_printer.cpp

index e6aff1ace22ca06d11acdfe5f225ec21cb04355e..fd98bdecaac7d04be954900d6b727d2c4c5360d1 100644 (file)
@@ -1622,7 +1622,8 @@ void Smt2Printer::toStreamCmdSetInfo(std::ostream& out,
                                      const std::string& flag,
                                      const std::string& value) const
 {
-    out << "(set-info :" << flag << " |" << value << "|)" << std::endl;
+  out << "(set-info :" << flag << " " << cvc5::quoteSymbol(value) << ")"
+      << std::endl;
 }
 
 void Smt2Printer::toStreamCmdGetInfo(std::ostream& out,