ROSE
0.11.98.0
|
Virtual base class for expanding operators.
Definition at line 266 of file SymbolicExprParser.h.
#include <Rose/BinaryAnalysis/SymbolicExprParser.h>
Public Types | |
typedef Sawyer::SharedPointer< OperatorExpansion > | Ptr |
Shared-ownership pointer. More... | |
Public Types inherited from Rose::BinaryAnalysis::SymbolicExprParser::Expansion | |
typedef Sawyer::SharedPointer< Expansion > | Ptr |
Shared-ownership pointer to an Expansion. More... | |
Public Member Functions | |
virtual SymbolicExpr::Ptr | immediateExpansion (const Token &name, const SymbolicExpr::Nodes &operands)=0 |
Operator to expand a list into an expression tree. More... | |
Public Member Functions inherited from Rose::BinaryAnalysis::SymbolicExprParser::Expansion | |
virtual SymbolicExpr::Ptr | delayedExpansion (const SymbolicExpr::Ptr &src, const SymbolicExprParser *parser) |
Substitute one expression with another. More... | |
const std::string & | title () const |
Property: Title to use for documentation. | |
void | title (const std::string &s) |
Property: Title to use for documentation. | |
const std::string & | docString () const |
Property: Documentation string. More... | |
void | docString (const std::string &s) |
Property: Documentation string. More... | |
Public Member Functions inherited from Sawyer::SharedObject | |
SharedObject () | |
Default constructor. More... | |
SharedObject (const SharedObject &) | |
Copy constructor. More... | |
virtual | ~SharedObject () |
Virtual destructor. More... | |
SharedObject & | operator= (const SharedObject &) |
Assignment. More... | |
Protected Member Functions | |
OperatorExpansion (const SmtSolverPtr &solver) | |
Protected Attributes | |
SmtSolverPtr | solver |
typedef Sawyer::SharedPointer<OperatorExpansion> Rose::BinaryAnalysis::SymbolicExprParser::OperatorExpansion::Ptr |
Shared-ownership pointer.
See Shared ownership.
Definition at line 269 of file SymbolicExprParser.h.
|
pure virtual |
Operator to expand a list into an expression tree.
The width in bits is either the width specified in square brackets for the function symbol, or zero. Functors are all called for each symbol, and the first one to return non-null is the one that's used to generate the symbolic expression.
Implemented in Rose::BinaryAnalysis::SymbolicExprParser::MemorySubstituter.