class
SemanticsDriver extends AnyRef
Instance Constructors
-
new
SemanticsDriver(rawSolver: Interpreter, onRegularOutput: (CommandResponse) ⇒ Unit, onDiagnosticOutput: (String) ⇒ Unit)
Value Members
-
final
def
!=(arg0: AnyRef): Boolean
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: AnyRef): Boolean
-
final
def
==(arg0: Any): Boolean
-
final
def
asInstanceOf[T0]: T0
-
def
checkSort(sort: Sort, params: Seq[SSymbol]): Unit
-
def
clone(): AnyRef
-
final
def
eq(arg0: AnyRef): Boolean
-
def
equals(arg0: Any): Boolean
-
def
eval(command: Command): Unit
-
def
finalize(): Unit
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
final
def
ne(arg0: AnyRef): Boolean
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
def
processGetInfo(infoFlag: InfoFlag): Unit
-
def
processSetOption(option: SMTOption): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
Inherited from AnyRef
Inherited from Any
Provide standard complient behaviour for a sequence of commands.
This driver will properly understand the whole SMT-LIB 2.5 language, maintaining proper state and forwarding work to an underlying solver. The behaviour of this driver is to perfectly follow the standard, and properly abstract the peculiarities of the black box solvers so that they can be used with SMT-LIB 2.5 language.
One difficult in implementing the SMT-LIB standard is that the standard is designed for process interaction, relying on both a standard output and standard error channel. Standard output and error are part of the interface of the driver, and by default will be available on the driver. If one sets the :diagnostic-output-channel or :regular-output-channel options, that will redirect this behaviour and send the outputs to files. Basically: stdout and stderr are the iterator attached to this driver.
TODO: this is work in progress, not usable yet.