ROSE
0.11.98.0
|
Virtual base class for atom and operator expansion.
Definition at line 206 of file SymbolicExprParser.h.
#include <Rose/BinaryAnalysis/SymbolicExprParser.h>
Public Types | |
typedef Sawyer::SharedPointer< Expansion > | Ptr |
Shared-ownership pointer to an Expansion. More... | |
Public Member Functions | |
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... | |
Shared-ownership pointer to an Expansion.
See Shared ownership.
Definition at line 213 of file SymbolicExprParser.h.
|
inline |
Property: Documentation string.
The string uses the simple markup language from Sawyer's command-line processing.
Definition at line 227 of file SymbolicExprParser.h.
|
inline |
Property: Documentation string.
The string uses the simple markup language from Sawyer's command-line processing.
Definition at line 228 of file SymbolicExprParser.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::SymbolicExprParser::MemorySubstituter, and Rose::BinaryAnalysis::SymbolicExprParser::RegisterSubstituter.
Definition at line 240 of file SymbolicExprParser.h.