ROSE  0.11.109.0
InstructionSemantics/BaseSemantics/Types.h
1 #ifndef ROSE_BinaryAnalysis_InstructionSemantics_BaseSemantics_Types_H
2 #define ROSE_BinaryAnalysis_InstructionSemantics_BaseSemantics_Types_H
3 #include <featureTests.h>
4 #ifdef ROSE_ENABLE_BINARY_ANALYSIS
5 
6 // Basic types needed by almost all other instruction semantics layers
7 
8 #include <boost/serialization/shared_ptr.hpp>
9 #include <boost/shared_ptr.hpp>
10 #include <Sawyer/SharedPointer.h>
11 #include <Sawyer/Set.h>
12 
13 namespace Rose {
14 namespace BinaryAnalysis {
15 namespace InstructionSemantics {
16 
21 namespace BaseSemantics {
22 
24 // Forward declarations
26 
27 // Documented where they're defined.
28 class Formatter;
29 class Merger;
30 class SValue;
31 class RegisterState;
32 class MemoryCell;
33 class MemoryState;
34 class State;
35 class RiscOperators;
36 class Dispatcher;
37 
39 // Shared-ownership pointers
41 
44 
47 
49 typedef boost::shared_ptr<RegisterState> RegisterStatePtr;
50 
52 typedef boost::shared_ptr<MemoryState> MemoryStatePtr;
53 
55 typedef boost::shared_ptr<MemoryCell> MemoryCellPtr;
56 
58 typedef boost::shared_ptr<State> StatePtr;
59 
61 typedef boost::shared_ptr<RiscOperators> RiscOperatorsPtr;
62 
64 typedef boost::shared_ptr<Dispatcher> DispatcherPtr;
65 
67 // I/O Properties
69 
89 };
90 
93 
94 
95 } // namespace
96 } // namespace
97 } // namespace
98 } // namespace
99 
100 #endif
101 #endif
Base classes for instruction semantics.
Definition: Dispatcher.h:18
Sawyer::SharedPointer< Merger > MergerPtr
Shared-ownership pointer for Merger classes.
boost::shared_ptr< RiscOperators > RiscOperatorsPtr
Shared-ownership pointer to a RISC operators object.
Sawyer::Container::Set< InputOutputProperty > InputOutputPropertySet
Set of Boolean properties.
boost::shared_ptr< RegisterState > RegisterStatePtr
Shared-ownership pointer to a register state.
Main namespace for the ROSE library.
boost::shared_ptr< MemoryCell > MemoryCellPtr
Shared-ownership pointer to a memory cell.
boost::shared_ptr< State > StatePtr
Shared-ownership pointer to a semantic state.
boost::shared_ptr< Dispatcher > DispatcherPtr
Shared-ownership pointer to a semantics instruction dispatcher.
Dispatches instructions through the RISC layer.
Definition: Dispatcher.h:44
boost::shared_ptr< MemoryState > MemoryStatePtr
Shared-ownership pointer to a memory state.
Sawyer::SharedPointer< SValue > SValuePtr
Shared-ownership pointer to a semantic value in any domain.
BaseSemantics::Formatter Formatter
Formatter for symbolic values.
SymbolicSemantics::Merger Merger
Controls merging of tainted values.
State
Decoder state.
Definition: String.h:198