Simplify automatic set-logic in smt2 parser (#6678)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Thu, 3 Jun 2021 22:49:32 +0000 (17:49 -0500)
committerGitHub <noreply@github.com>
Thu, 3 Jun 2021 22:49:32 +0000 (22:49 +0000)
commitf42ed22928bdc1bc68e2269ac0a738238f9e0cd7
tree88ba3a1d8edd588acb87beda0d958a080f853d6d
parent5b0d429d1ac4288d615afccfe1eeb16e68141488
Simplify automatic set-logic in smt2 parser (#6678)

This simplifies the smt2 parser so that automatically setting the logic is done directly instead of being buffered as a command.

This prevents spurious errors for features that require (A) checking the logic is set and (B) fully intialize the underlying SMT engine.  `declare-pool` is an example of an smt2 command where the user will get an error (instead of a warning) when set-logic is not used due to setting the logic, after fully initing SMT engine and then executing the buffered set-logic command.

Note this should also make dump=raw-benchmark more accurate (no set-logic is included when dumping benchmarks with no set-logic command).
src/parser/smt2/smt2.cpp
src/parser/smt2/smt2.h