ROSE  0.11.60.0
Public Member Functions | List of all members
Rose::BinaryAnalysis::InstructionSemantics2::SymbolicSemantics::MemoryListState::CellCompressorMcCarthy Struct 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 501 of file SymbolicSemantics.h.

#include <SymbolicSemantics.h>

Inheritance diagram for Rose::BinaryAnalysis::InstructionSemantics2::SymbolicSemantics::MemoryListState::CellCompressorMcCarthy:
Inheritance graph
[legend]
Collaboration diagram for Rose::BinaryAnalysis::InstructionSemantics2::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 CellList &cells) override
 
- Public Member Functions inherited from Rose::BinaryAnalysis::InstructionSemantics2::SymbolicSemantics::MemoryListState::CellCompressor
virtual SValuePtr operator() (const SValuePtr &address, const BaseSemantics::SValuePtr &dflt, BaseSemantics::RiscOperators *addrOps, BaseSemantics::RiscOperators *valOps, const MemoryCellList::CellList &cells)=0
 

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