|
HAL
v4.5.0-83-g30c8f0afc
The Hardware Analyzer - a comprehensive reverse engineering and manipulation framework for gate-level netlists.
|
#include <hal_core/netlist/boolean_function/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 895 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 976 of file symbolic_execution.cpp.
References hal::BooleanFunction::Const(), 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 1014 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().