ROSE 0.11.145.147
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Rose::BinaryAnalysis::SymbolicExpressionParser::OperatorExpansion Class Referenceabstract

Description

Virtual base class for expanding operators.

Definition at line 266 of file SymbolicExpressionParser.h.

#include <Rose/BinaryAnalysis/SymbolicExpressionParser.h>

Inheritance diagram for Rose::BinaryAnalysis::SymbolicExpressionParser::OperatorExpansion:
Inheritance graph
[legend]
Collaboration diagram for Rose::BinaryAnalysis::SymbolicExpressionParser::OperatorExpansion:
Collaboration graph
[legend]

Public Types

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

Public Member Functions

virtual SymbolicExpression::Ptr immediateExpansion (const Token &name, const SymbolicExpression::Nodes &operands)=0
 Operator to expand a list into an expression tree.
 
- 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.
 
SharedObjectoperator= (const SharedObject &)
 Assignment.
 

Protected Member Functions

 OperatorExpansion (const SmtSolverPtr &solver)
 

Protected Attributes

SmtSolverPtr solver
 

Member Typedef Documentation

◆ Ptr

Shared-ownership pointer.

See Shared ownership.

Definition at line 269 of file SymbolicExpressionParser.h.

Member Function Documentation

◆ immediateExpansion()

virtual SymbolicExpression::Ptr Rose::BinaryAnalysis::SymbolicExpressionParser::OperatorExpansion::immediateExpansion ( const Token name,
const SymbolicExpression::Nodes &  operands 
)
pure virtual

Operator to expand a list into an expression tree.

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

Implemented in Rose::BinaryAnalysis::SymbolicExpressionParser::MemorySubstituter.

Member Data Documentation

◆ solver

SmtSolverPtr Rose::BinaryAnalysis::SymbolicExpressionParser::OperatorExpansion::solver
protected

Definition at line 272 of file SymbolicExpressionParser.h.


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