ROSE 0.11.145.147
|
Virtual base class for atom and operator expansion.
Definition at line 206 of file SymbolicExpressionParser.h.
#include <Rose/BinaryAnalysis/SymbolicExpressionParser.h>
Public Types | |
typedef Sawyer::SharedPointer< Expansion > | Ptr |
Shared-ownership pointer to an Expansion. | |
Public Member Functions | |
virtual SymbolicExpression::Ptr | delayedExpansion (const SymbolicExpression::Ptr &src, const SymbolicExpressionParser *) |
Substitute one expression with another. | |
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. | |
void | docString (const std::string &s) |
Property: Documentation string. | |
Public Member Functions inherited from Sawyer::SharedObject | |
SharedObject () | |
Default constructor. | |
SharedObject (const SharedObject &) | |
Copy constructor. | |
virtual | ~SharedObject () |
Virtual destructor. | |
SharedObject & | operator= (const SharedObject &) |
Assignment. | |
typedef Sawyer::SharedPointer<Expansion> Rose::BinaryAnalysis::SymbolicExpressionParser::Expansion::Ptr |
Shared-ownership pointer to an Expansion.
See Shared ownership.
Definition at line 213 of file SymbolicExpressionParser.h.
|
inlinevirtual |
Definition at line 210 of file SymbolicExpressionParser.h.
|
inline |
Property: Title to use for documentation.
Definition at line 218 of file SymbolicExpressionParser.h.
|
inline |
Property: Title to use for documentation.
Definition at line 219 of file SymbolicExpressionParser.h.
|
inline |
Property: Documentation string.
The string uses the simple markup language from Sawyer's command-line processing.
Definition at line 227 of file SymbolicExpressionParser.h.
|
inline |
Property: Documentation string.
The string uses the simple markup language from Sawyer's command-line processing.
Definition at line 228 of file SymbolicExpressionParser.h.
|
inlinevirtual |
Substitute one expression with another.
This second phase of expansion occurs after parsing (perhaps much later) and is able to dynamically replace the given expression with some other expression. For instance, if this object recognizes register names, it it might replace the register names with variables in the first phase, and during the second phase read register values from a provided state.
If the input expression does not need to be substituted, then this function should return the original expression.
Reimplemented in Rose::BinaryAnalysis::SymbolicExpressionParser::RegisterSubstituter, and Rose::BinaryAnalysis::SymbolicExpressionParser::MemorySubstituter.
Definition at line 240 of file SymbolicExpressionParser.h.