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


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
Collaboration diagram for Rose::BinaryAnalysis::InstructionSemantics::SymbolicSemantics::MemoryListState::CellCompressorMcCarthy:
Collaboration graph

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 ( )

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 

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