ROSE  0.11.145.0
Public Member Functions | Static Public Member Functions | List of all members
Rose::BinaryAnalysis::InstructionSemantics::SymbolicSemantics::MemoryListState::CellCompressorMcCarthy Class Reference

Description

Functor for handling a memory read whose address matches more than one memory cell.

This functor returns a symbolic expression that consists of a read operation on a memory state. The returned expression is essentially a McCarthy expression that encodes this if-then-else structure:

define readMemory(Address A): {
if A == Cell[0].address then return Cell[0].value
else if A == Cell[1].address then return Cell[1].value
else if A == Cell[2].address then return Cell[2].value
...
}

Definition at line 510 of file SymbolicSemantics.h.

#include <Rose/BinaryAnalysis/InstructionSemantics/SymbolicSemantics.h>

Inheritance diagram for Rose::BinaryAnalysis::InstructionSemantics::SymbolicSemantics::MemoryListState::CellCompressorMcCarthy:
Inheritance graph
[legend]
Collaboration diagram for Rose::BinaryAnalysis::InstructionSemantics::SymbolicSemantics::MemoryListState::CellCompressorMcCarthy:
Collaboration graph
[legend]

Public Member Functions

virtual SValuePtr operator() (const SValuePtr &address, const BaseSemantics::SValuePtr &dflt, BaseSemantics::RiscOperators *addrOps, BaseSemantics::RiscOperators *valOps, const BaseSemantics::CellList &cells) override
 Compress the cells into a single value. 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 ()
 Allocating constructor. More...
 

Additional Inherited Members

- Public Types inherited from Rose::BinaryAnalysis::InstructionSemantics::SymbolicSemantics::MemoryListState::CellCompressor
using Ptr = Sawyer::SharedPointer< CellCompressor >
 

Member Function Documentation

static Ptr Rose::BinaryAnalysis::InstructionSemantics::SymbolicSemantics::MemoryListState::CellCompressorMcCarthy::instance ( )
static

Allocating constructor.

virtual SValuePtr Rose::BinaryAnalysis::InstructionSemantics::SymbolicSemantics::MemoryListState::CellCompressorMcCarthy::operator() ( const SValuePtr address,
const BaseSemantics::SValuePtr dflt,
BaseSemantics::RiscOperators addrOps,
BaseSemantics::RiscOperators valOps,
const BaseSemantics::CellList cells 
)
overridevirtual

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