ROSE  0.9.11.56
Public Types | Public Member Functions | List of all members
Rose::BinaryAnalysis::SymbolicExprParser::AtomExpansion Class Referenceabstract

Description

Virtual base class for expanding atoms.

Definition at line 251 of file BinarySymbolicExprParser.h.

#include <BinarySymbolicExprParser.h>

Inheritance diagram for Rose::BinaryAnalysis::SymbolicExprParser::AtomExpansion:
Inheritance graph
[legend]
Collaboration diagram for Rose::BinaryAnalysis::SymbolicExprParser::AtomExpansion:
Collaboration graph
[legend]

Public Types

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

virtual SymbolicExpr::Ptr immediateExpansion (const Token &name)=0
 Expand a parsed atom into some other expression. More...
 
- Public Member Functions inherited from Rose::BinaryAnalysis::SymbolicExprParser::Expansion
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...
 
SharedObjectoperator= (const SharedObject &)
 Assignment. More...
 

Member Typedef Documentation

Shared-ownership pointer to an AtomExpansion.

See Shared ownership.

Definition at line 254 of file BinarySymbolicExprParser.h.

Member Function Documentation

virtual SymbolicExpr::Ptr Rose::BinaryAnalysis::SymbolicExprParser::AtomExpansion::immediateExpansion ( const Token name)
pure virtual

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.

Implemented in Rose::BinaryAnalysis::SymbolicExprParser::TermPlaceholders, Rose::BinaryAnalysis::SymbolicExprParser::RegisterSubstituter, and Rose::BinaryAnalysis::SymbolicExprParser::RegisterToValue.


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