You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using the ask function on Z3Session, we can pass commands such as check-sat and get-model to the z3 solver. The problem is that we can't read back the result of get-model, as z3 outputs it over multiple lines and the ask command only reads single-line responses, yielding an incomplete S-expression. There are 2 potential ways to fix this:
Change ask to read more than one line.
Somehow tell z3 to output stuff in one long line.
is either of the two doable?
The text was updated successfully, but these errors were encountered:
I don't think you can tell z3 to write everything on a single line.
Unfortunately the parsing library we use for the s-expression parser does not allow us to resume parsing, see sirthias/parboiled2#26. I don't know how easy it is to check whether we hit the end-of-input in the parser (as opposed to a syntax error). But then we could just read lines as long as the parser says incomplete (and rerun the parser every time on the whole input).
BTW, the s-expression parser is pretty small. We could easily switch to another parsing library if that simplifies anything, as long as the performance remains reasonable.
Using the
ask
function onZ3Session
, we can pass commands such ascheck-sat
andget-model
to the z3 solver. The problem is that we can't read back the result ofget-model
, as z3 outputs it over multiple lines and theask
command only reads single-line responses, yielding an incomplete S-expression. There are 2 potential ways to fix this:ask
to read more than one line.is either of the two doable?
The text was updated successfully, but these errors were encountered: