Skip to content

Commit 065bc4f

Browse files
committed
bitwuzla
1 parent 704dce2 commit 065bc4f

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package smtlib
2+
package interpreters
3+
4+
import smtlib.lexer.Lexer
5+
import smtlib.parser.Parser
6+
import smtlib.printer.{Printer, RecursivePrinter}
7+
import trees.Commands._
8+
9+
import java.io.BufferedReader
10+
11+
class BitwuzlaInterpreter(executable: String,
12+
args: Array[String],
13+
printer: Printer = RecursivePrinter,
14+
parserCtor: BufferedReader => Parser = out => new Parser(new Lexer(out)))
15+
extends ProcessInterpreter(executable, args, printer, parserCtor) {
16+
17+
printer.printCommand(SetOption(PrintSuccess(true)), in)
18+
in.write("\n")
19+
in.flush()
20+
parser.parseGenResponse
21+
22+
}
23+
24+
object BitwuzlaInterpreter {
25+
26+
def buildDefault: BitwuzlaInterpreter = {
27+
val executable = "bitwuzla"
28+
val args = Array("-v", "0",
29+
"--produce-models",
30+
"--lang", "smt2")
31+
new BitwuzlaInterpreter(executable, args)
32+
}
33+
34+
}

0 commit comments

Comments
 (0)