Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
Rose::BinaryAnalysis::SymbolicExprParser::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 259 of file BinarySymbolicExprParser.h.

#include <BinarySymbolicExprParser.h>

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

Public Types

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

Public Member Functions

SymbolicExpr::Ptr operator() (const SymbolicExprParser::Token &) ROSE_OVERRIDE
 Operator to expand the symbol into an expression tree. More...
- Public Member Functions inherited from Rose::BinaryAnalysis::SymbolicExprParser::Expansion
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 InstructionSemantics2::BaseSemantics::RiscOperatorsPtr &)
 Allocating constructor. More...

Protected Member Functions

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

Member Typedef Documentation

Shared-ownership pointer.

See Shared ownership.

Definition at line 262 of file BinarySymbolicExprParser.h.

Member Function Documentation

static Ptr Rose::BinaryAnalysis::SymbolicExprParser::RegisterToValue::instance ( const InstructionSemantics2::BaseSemantics::RiscOperatorsPtr )

Allocating constructor.

SymbolicExpr::Ptr Rose::BinaryAnalysis::SymbolicExprParser::RegisterToValue::operator() ( const SymbolicExprParser::Token name)

Operator to expand the symbol into an expression tree.

The width in bits is either the width specified in square brackets for the 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.

Implements Rose::BinaryAnalysis::SymbolicExprParser::AtomExpansion.

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