|
ROSE 0.11.145.354
|
Expand register names to register values.
This expansion uses a RiscOperators object to convert register names in the parse string into register values. The values are substituted at the time the string is parsed. At this time (2018-08) only the symbolic semantic domain is supported since this is the one usually used with SMT solvers.
Definition at line 295 of file SymbolicExpressionParser.h.
#include <Rose/BinaryAnalysis/SymbolicExpressionParser.h>


Public Types | |
| typedef Sawyer::SharedPointer< RegisterToValue > | Ptr |
| Shared-ownership pointer. | |
Public Types inherited from Rose::BinaryAnalysis::SymbolicExpressionParser::AtomExpansion | |
| typedef Sawyer::SharedPointer< AtomExpansion > | Ptr |
| Shared-ownership pointer to an AtomExpansion. | |
Public Types inherited from Rose::BinaryAnalysis::SymbolicExpressionParser::Expansion | |
| typedef Sawyer::SharedPointer< Expansion > | Ptr |
| Shared-ownership pointer to an Expansion. | |
Public Member Functions | |
| SymbolicExpression::Ptr | immediateExpansion (const SymbolicExpressionParser::Token &) override |
| Expand a parsed atom into some other expression. | |
Public Member Functions inherited from Rose::BinaryAnalysis::SymbolicExpressionParser::Expansion | |
| 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. | |
Static Public Member Functions | |
| static Ptr | instance (const InstructionSemantics::BaseSemantics::RiscOperatorsPtr &) |
| Allocating constructor. | |
Protected Member Functions | |
| RegisterToValue (const InstructionSemantics::BaseSemantics::RiscOperatorsPtr &ops) | |
| typedef Sawyer::SharedPointer<RegisterToValue> Rose::BinaryAnalysis::SymbolicExpressionParser::RegisterToValue::Ptr |
Shared-ownership pointer.
See Shared ownership.
Definition at line 298 of file SymbolicExpressionParser.h.
|
inlineprotected |
Definition at line 304 of file SymbolicExpressionParser.h.
|
overridevirtual |
Expand a parsed atom into some other expression.
This method takes a token parsed from the input and optionally replaces it with some other expression. For instance, a subclass that recognizes the token "true" would replace it with a single-bit constant 1. If this object does not recognize the token, it should return a null pointer. This phase of expansion occurs immediately during parsing; a second phase may occur later.
Implements Rose::BinaryAnalysis::SymbolicExpressionParser::AtomExpansion.