![]() |
HAL
|
#include <symbolic_execution.h>
Public Member Functions | |
SymbolicExecution (const std::vector< BooleanFunction > &variables={}) | |
Result< BooleanFunction > | evaluate (const BooleanFunction &function) const |
Result< std::monostate > | evaluate (const Constraint &constraint) |
Public Attributes | |
SymbolicState | state |
The current symbolic state. More... | |
Represents the symbolic execution engine that handles the evaluation and simplification of Boolean function abstract syntax trees.
Definition at line 42 of file symbolic_execution.h.
|
explicit |
Creates a symbolic execution engine and initializes the variables.
[in] | variables | - The (optional) list of variables. |
Definition at line 414 of file symbolic_execution.cpp.
References hal::state.
Result< BooleanFunction > hal::SMT::SymbolicExecution::evaluate | ( | const BooleanFunction & | function | ) | const |
Evaluates a Boolean function within the symbolic state of the symbolic execution.
[in] | function | - The Boolean function to evaluate. |
Definition at line 418 of file symbolic_execution.cpp.
References ERR, ERR_APPEND, and OK.
Referenced by evaluate(), hal::Simplification::local_simplification(), and hal::smt_init().
Result< std::monostate > hal::SMT::SymbolicExecution::evaluate | ( | const Constraint & | constraint | ) |
Evaluates an equality constraint and applies it to the symbolic state of the symbolic execution.
[in] | constraint | - The equality constraint to evaluate. |
Definition at line 446 of file symbolic_execution.cpp.
References ERR_APPEND, evaluate(), hal::SMT::Constraint::get_assignment(), hal::SMT::Constraint::is_assignment(), and OK.
SymbolicState hal::SMT::SymbolicExecution::state |
The current symbolic state.
Definition at line 50 of file symbolic_execution.h.
Referenced by hal::smt_init().