Fix `(set-info <sexpr>)` parsing and printing bugs. (#7427)
authorAbdalrhman Mohamed <32971963+abdoo8080@users.noreply.github.com>
Thu, 28 Oct 2021 11:26:49 +0000 (06:26 -0500)
committerGitHub <noreply@github.com>
Thu, 28 Oct 2021 11:26:49 +0000 (11:26 +0000)
commit661ed996725b1e4d6dbd7b58b583bcf4da20f530
treecded2326cd1191e790ce387183a4aefbeaba15b8
parent46f5a39730ebd42421963c23de81a75652fb6629
Fix `(set-info <sexpr>)` parsing and printing bugs. (#7427)

Given
```smt2
(set-info :source (0 1 True False x ""))
```
`cvc5` currently prints the command below with `-o raw-benchmark`
```smt2
(set-info : |(0 1 True False x )|)
```
This PR ensures that `cvc5` correctly prints the command by
- Parsing and storing keywords eagerly before parsing their values.
- Removing pre-processing steps done to symbols and string literals.
src/parser/smt2/Smt2.g
src/printer/smt2/smt2_printer.cpp
test/regress/regress0/bug522.smt2
test/regress/regress0/options/ast-and-sexpr.smt2
test/regress/regress1/quantifiers/bi-artm-s.smt2
test/regress/regress2/quantifiers/cee-event-wrong-sat.smt2