1#ifndef ROSE_BinaryAnalysis_InstructionSemantics_BaseSemantics_BasicTypes_H
2#define ROSE_BinaryAnalysis_InstructionSemantics_BaseSemantics_BasicTypes_H
3#include <featureTests.h>
4#ifdef ROSE_ENABLE_BINARY_ANALYSIS
9#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
10#include <boost/serialization/shared_ptr.hpp>
13#include <boost/shared_ptr.hpp>
14#include <Sawyer/SharedPointer.h>
15#include <Sawyer/Set.h>
18namespace BinaryAnalysis {
19namespace InstructionSemantics {
33class AddressSpaceAddress;
40class RegisterStateGeneric;
Reference-counting intrusive smart pointer.
Base classes for instruction semantics.
Sawyer::SharedPointer< Merger > MergerPtr
Shared-ownership pointer for Merger classes.
boost::shared_ptr< RiscOperators > RiscOperatorsPtr
Shared-ownership pointer to a RISC operators object.
boost::shared_ptr< MemoryState > MemoryStatePtr
Shared-ownership pointer to a memory state.
boost::shared_ptr< MemoryCell > MemoryCellPtr
Shared-ownership pointer to a memory cell.
boost::shared_ptr< Dispatcher > DispatcherPtr
Shared-ownership pointer to a semantics instruction dispatcher.
InputOutputProperty
Boolean properties related to I/O.
@ IO_WRITE
The location was written on behalf of an instruction.
@ IO_READ_UNINITIALIZED
The location was read without having the IO_WRITE or IO_INIT property.
@ IO_INIT
The location was written without an instruction.
@ IO_READ
The location was read on behalf of an instruction.
@ IO_READ_BEFORE_WRITE
The location was read without having the IO_WRITE property.
@ IO_READ_AFTER_WRITE
The location was read after being written.
boost::shared_ptr< State > StatePtr
Shared-ownership pointer to a semantic state.
boost::shared_ptr< class MemoryCellState > MemoryCellStatePtr
Shared-ownership pointer to a cell-based memory state.
boost::shared_ptr< class RegisterStateGeneric > RegisterStateGenericPtr
Shared-ownership pointer to generic register states.
AddressSpacePurpose
Purpose that an address space serves.
@ UNSPECIFIED
Purpose for default-constructed address spaces.
@ REGISTERS
Stores register values indexed by RegisterDescriptor.
@ USER
User defined address space.
@ MEMORY
Stores memory values indexed by address.
@ INTERRUPTS
Stores interrupt states indexed by interrupt.
boost::shared_ptr< AddressSpace > AddressSpacePtr
Shared-ownership pointer for AddressSpace objects.
Sawyer::SharedPointer< SValue > SValuePtr
Shared-ownership pointer to a semantic value in any domain.
Sawyer::Container::Set< InputOutputProperty > InputOutputPropertySet
Set of Boolean properties.
boost::shared_ptr< RegisterState > RegisterStatePtr
Shared-ownership pointer to a register state.
BaseSemantics::Formatter Formatter
Formatter for symbolic values.
SymbolicSemantics::Merger Merger
Controls merging of tainted values.
const char * AddressSpace(int64_t)
Convert SgAsmGenericFile::AddressSpace enum constant to a string.