Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
Rose::BinaryAnalysis::SymbolicExpressionParser::RegisterToValue Class Reference


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 294 of file SymbolicExpressionParser.h.

#include <Rose/BinaryAnalysis/SymbolicExpressionParser.h>

Inheritance diagram for Rose::BinaryAnalysis::SymbolicExpressionParser::RegisterToValue:
Inheritance graph
Collaboration diagram for Rose::BinaryAnalysis::SymbolicExpressionParser::RegisterToValue:
Collaboration graph

Public Types

typedef Sawyer::SharedPointer< RegisterToValuePtr
 Shared-ownership pointer. More...
- Public Types inherited from Rose::BinaryAnalysis::SymbolicExpressionParser::AtomExpansion
typedef Sawyer::SharedPointer< AtomExpansionPtr
 Shared-ownership pointer to an AtomExpansion. More...
- Public Types inherited from Rose::BinaryAnalysis::SymbolicExpressionParser::Expansion
typedef Sawyer::SharedPointer< ExpansionPtr
 Shared-ownership pointer to an Expansion. More...

Public Member Functions

SymbolicExpression::Ptr immediateExpansion (const SymbolicExpressionParser::Token &) override
 Expand a parsed atom into some other expression. More...
- Public Member Functions inherited from Rose::BinaryAnalysis::SymbolicExpressionParser::Expansion
virtual SymbolicExpression::Ptr delayedExpansion (const SymbolicExpression::Ptr &src, const SymbolicExpressionParser *)
 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...
SharedObjectoperator= (const SharedObject &)
 Assignment. More...

Static Public Member Functions

static Ptr instance (const InstructionSemantics::BaseSemantics::RiscOperatorsPtr &)
 Allocating constructor. More...

Protected Member Functions

 RegisterToValue (const InstructionSemantics::BaseSemantics::RiscOperatorsPtr &ops)

Member Typedef Documentation

Shared-ownership pointer.

See Shared ownership.

Definition at line 297 of file SymbolicExpressionParser.h.

Member Function Documentation

static Ptr Rose::BinaryAnalysis::SymbolicExpressionParser::RegisterToValue::instance ( const InstructionSemantics::BaseSemantics::RiscOperatorsPtr )

Allocating constructor.

SymbolicExpression::Ptr Rose::BinaryAnalysis::SymbolicExpressionParser::RegisterToValue::immediateExpansion ( const SymbolicExpressionParser::Token name)

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.

The documentation for this class was generated from the following file: