ROSE 0.11.145.192
|
Unparser for the MIPS instruction set.
Definition at line 15 of file Unparser/Mips.h.
#include <Rose/BinaryAnalysis/Unparser/Mips.h>
Public Member Functions | |
Ptr | copy () const override |
const MipsSettings & | settings () const override |
Property: Settings associated with this unparser. | |
MipsSettings & | settings () override |
Property: Settings associated with this unparser. | |
Public Member Functions inherited from Rose::BinaryAnalysis::Unparser::Base | |
Architecture::BaseConstPtr | architecture () const |
Property: Architecture. | |
virtual void | initializeState (State &) const |
Finish initializing the unparser state. | |
virtual void | updateIntraFunctionArrows (State &) const |
Calculate intra-function arrows. | |
void | settings (const Settings &s) |
Property: Settings associated with this unparser. | |
Ptr | nextUnparser () const |
Property: Next parser in chain. | |
void | nextUnparser (Ptr next) |
Property: Next parser in chain. | |
void | operator() (std::ostream &, const Partitioner2::PartitionerConstPtr &) const |
Emit the entity to an output stream. | |
void | operator() (std::ostream &, const Partitioner2::PartitionerConstPtr &, SgAsmInstruction *) const |
Emit the entity to an output stream. | |
void | operator() (std::ostream &, const Partitioner2::PartitionerConstPtr &, SgAsmExpression *) const |
Emit the entity to an output stream. | |
void | operator() (std::ostream &, const Partitioner2::PartitionerConstPtr &, const Partitioner2::BasicBlockPtr &) const |
Emit the entity to an output stream. | |
void | operator() (std::ostream &, const Partitioner2::PartitionerConstPtr &, const Partitioner2::DataBlockPtr &) const |
Emit the entity to an output stream. | |
void | operator() (std::ostream &, const Partitioner2::PartitionerConstPtr &, const Partitioner2::FunctionPtr &) const |
Emit the entity to an output stream. | |
void | operator() (std::ostream &, SgAsmInstruction *) const |
Emit the entity to an output stream. | |
std::string | operator() (const Partitioner2::PartitionerConstPtr &, const Progress::Ptr &=Progress::Ptr()) const |
Emit the entity to a string. | |
std::string | operator() (const Partitioner2::PartitionerConstPtr &, SgAsmInstruction *) const |
Emit the entity to a string. | |
std::string | operator() (const Partitioner2::PartitionerConstPtr &, SgAsmExpression *) const |
Emit the entity to a string. | |
std::string | operator() (const Partitioner2::PartitionerConstPtr &, const Partitioner2::BasicBlockPtr &) const |
Emit the entity to a string. | |
std::string | operator() (const Partitioner2::PartitionerConstPtr &, const Partitioner2::DataBlockPtr &) const |
Emit the entity to a string. | |
std::string | operator() (const Partitioner2::PartitionerConstPtr &, const Partitioner2::FunctionPtr &) const |
Emit the entity to a string. | |
std::string | operator() (SgAsmInstruction *) const |
Emit the entity to a string. | |
void | unparse (std::ostream &, const Partitioner2::PartitionerConstPtr &, const Progress::Ptr &=Progress::Ptr()) const |
High-level unparsing function. | |
void | unparse (std::ostream &, const Partitioner2::PartitionerConstPtr &, SgAsmInstruction *) const |
High-level unparsing function. | |
void | unparse (std::ostream &, const Partitioner2::PartitionerConstPtr &, SgAsmExpression *) const |
High-level unparsing function. | |
void | unparse (std::ostream &, const Partitioner2::PartitionerConstPtr &, const Partitioner2::BasicBlockPtr &) const |
High-level unparsing function. | |
void | unparse (std::ostream &, const Partitioner2::PartitionerConstPtr &, const Partitioner2::DataBlockPtr &) const |
High-level unparsing function. | |
void | unparse (std::ostream &, const Partitioner2::PartitionerConstPtr &, const Partitioner2::FunctionPtr &) const |
High-level unparsing function. | |
void | unparse (std::ostream &, SgAsmInstruction *) const |
High-level unparsing function. | |
void | unparse (std::ostream &, SgAsmExpression *) const |
High-level unparsing function. | |
std::string | unparse (const Partitioner2::PartitionerConstPtr &, const Progress::Ptr &=Progress::Ptr()) const |
High-level unparsing function. | |
std::string | unparse (const Partitioner2::PartitionerConstPtr &, SgAsmInstruction *) const |
High-level unparsing function. | |
std::string | unparse (const Partitioner2::PartitionerConstPtr &, SgAsmExpression *) const |
High-level unparsing function. | |
std::string | unparse (const Partitioner2::PartitionerConstPtr &, const Partitioner2::BasicBlockPtr &) const |
High-level unparsing function. | |
std::string | unparse (const Partitioner2::PartitionerConstPtr &, const Partitioner2::DataBlockPtr &) const |
High-level unparsing function. | |
std::string | unparse (const Partitioner2::PartitionerConstPtr &, const Partitioner2::FunctionPtr &) const |
High-level unparsing function. | |
std::string | unparse (SgAsmInstruction *) const |
High-level unparsing function. | |
std::string | unparse (SgAsmExpression *) const |
High-level unparsing function. | |
virtual void | emitFunction (std::ostream &, const Partitioner2::FunctionPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitFunctionPrologue (std::ostream &, const Partitioner2::FunctionPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitFunctionBody (std::ostream &, const Partitioner2::FunctionPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitFunctionEpilogue (std::ostream &, const Partitioner2::FunctionPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitFunctionSourceLocation (std::ostream &, const Partitioner2::FunctionPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitFunctionReasons (std::ostream &, const Partitioner2::FunctionPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitFunctionCallers (std::ostream &, const Partitioner2::FunctionPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitFunctionCallees (std::ostream &, const Partitioner2::FunctionPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitFunctionComment (std::ostream &, const Partitioner2::FunctionPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitFunctionStackDelta (std::ostream &, const Partitioner2::FunctionPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitFunctionCallingConvention (std::ostream &, const Partitioner2::FunctionPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitFunctionNoopAnalysis (std::ostream &, const Partitioner2::FunctionPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitFunctionMayReturn (std::ostream &, const Partitioner2::FunctionPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitDataBlockSourceLocation (std::ostream &, const Partitioner2::DataBlockPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitDataBlock (std::ostream &, const Partitioner2::DataBlockPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitDataBlockPrologue (std::ostream &, const Partitioner2::DataBlockPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitDataBlockBody (std::ostream &, const Partitioner2::DataBlockPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitDataBlockEpilogue (std::ostream &, const Partitioner2::DataBlockPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitBasicBlock (std::ostream &, const Partitioner2::BasicBlockPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitBasicBlockPrologue (std::ostream &, const Partitioner2::BasicBlockPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitBasicBlockBody (std::ostream &, const Partitioner2::BasicBlockPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitBasicBlockEpilogue (std::ostream &, const Partitioner2::BasicBlockPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitBasicBlockSourceLocation (std::ostream &, const Partitioner2::BasicBlockPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitBasicBlockComment (std::ostream &, const Partitioner2::BasicBlockPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitBasicBlockSharing (std::ostream &, const Partitioner2::BasicBlockPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitBasicBlockPredecessors (std::ostream &, const Partitioner2::BasicBlockPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitBasicBlockSuccessors (std::ostream &, const Partitioner2::BasicBlockPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitBasicBlockReachability (std::ostream &, const Partitioner2::BasicBlockPtr &, State &) const |
Mid-level unparser function. | |
virtual void | emitInstruction (std::ostream &, SgAsmInstruction *, State &) const |
Mid-level unparser function. | |
virtual void | emitInstructionPrologue (std::ostream &, SgAsmInstruction *, State &) const |
Mid-level unparser function. | |
virtual void | emitInstructionBody (std::ostream &, SgAsmInstruction *, State &) const |
Mid-level unparser function. | |
virtual void | emitInstructionEpilogue (std::ostream &, SgAsmInstruction *, State &) const |
Mid-level unparser function. | |
virtual void | emitInstructionAddress (std::ostream &, SgAsmInstruction *, State &) const |
Mid-level unparser function. | |
virtual void | emitInstructionBytes (std::ostream &, SgAsmInstruction *, State &) const |
Mid-level unparser function. | |
virtual void | emitInstructionStackDelta (std::ostream &, SgAsmInstruction *, State &) const |
Mid-level unparser function. | |
virtual void | emitInstructionFrameDelta (std::ostream &, SgAsmInstruction *, State &) const |
Mid-level unparser function. | |
virtual void | emitInstructionMnemonic (std::ostream &, SgAsmInstruction *, State &) const |
Mid-level unparser function. | |
virtual void | emitInstructionOperands (std::ostream &, SgAsmInstruction *, State &) const |
Mid-level unparser function. | |
virtual void | emitInstructionComment (std::ostream &, SgAsmInstruction *, State &) const |
Mid-level unparser function. | |
virtual void | emitInstructionSemantics (std::ostream &, SgAsmInstruction *, State &) const |
Mid-level unparser function. | |
virtual void | emitOperand (std::ostream &, SgAsmExpression *, State &) const |
Mid-level unparser function. | |
virtual void | emitOperandPrologue (std::ostream &, SgAsmExpression *, State &) const |
Mid-level unparser function. | |
virtual void | emitOperandBody (std::ostream &, SgAsmExpression *, State &) const |
Mid-level unparser function. | |
virtual void | emitOperandEpilogue (std::ostream &, SgAsmExpression *, State &) const |
Mid-level unparser function. | |
virtual void | emitExpression (std::ostream &, SgAsmExpression *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitBinaryAdd (std::ostream &, SgAsmBinaryAdd *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitBinaryAsr (std::ostream &, SgAsmBinaryAsr *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitBinaryConcat (std::ostream &, SgAsmBinaryConcat *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitBinaryDivide (std::ostream &, SgAsmBinaryDivide *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitBinaryLsl (std::ostream &, SgAsmBinaryLsl *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitBinaryLsr (std::ostream &, SgAsmBinaryLsr *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitBinaryMsl (std::ostream &, SgAsmBinaryMsl *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitBinaryMultiply (std::ostream &, SgAsmBinaryMultiply *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitBinaryMod (std::ostream &, SgAsmBinaryMod *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitBinaryPreupdate (std::ostream &, SgAsmBinaryPreupdate *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitBinaryPostupdate (std::ostream &, SgAsmBinaryPostupdate *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitBinaryRor (std::ostream &, SgAsmBinaryRor *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitBinarySubtract (std::ostream &, SgAsmBinarySubtract *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitByteOrder (std::ostream &, SgAsmByteOrder *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitDirectRegisterExpression (std::ostream &, SgAsmDirectRegisterExpression *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitExprListExp (std::ostream &, SgAsmExprListExp *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitFloatValueExpression (std::ostream &, SgAsmFloatValueExpression *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitIndirectRegisterExpression (std::ostream &, SgAsmIndirectRegisterExpression *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitIntegerValueExpression (std::ostream &, SgAsmIntegerValueExpression *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitMemoryReferenceExpression (std::ostream &, SgAsmMemoryReferenceExpression *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitRegisterNames (std::ostream &, SgAsmRegisterNames *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitRiscOperation (std::ostream &, SgAsmRiscOperation *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitStackExpression (std::ostream &, SgAsmStackExpression *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitUnaryMinus (std::ostream &, SgAsmUnaryMinus *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitUnaryPlus (std::ostream &, SgAsmUnaryPlus *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitUnarySignedExtend (std::ostream &, SgAsmUnarySignedExtend *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitUnaryTruncate (std::ostream &, SgAsmUnaryTruncate *, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitUnaryUnsignedExtend (std::ostream &, SgAsmUnaryUnsignedExtend *, State &) const |
Mid-level unparser function. | |
virtual void | emitRegister (std::ostream &, RegisterDescriptor, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitUnsignedInteger (std::ostream &, const Sawyer::Container::BitVector &, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitSignedInteger (std::ostream &, const Sawyer::Container::BitVector &, State &) const |
Mid-level unparser function. | |
virtual std::vector< std::string > | emitInteger (std::ostream &, const Sawyer::Container::BitVector &, State &, bool isSigned) const |
Mid-level unparser function. | |
virtual bool | emitAddress (std::ostream &, rose_addr_t, State &, bool always=true) const |
Mid-level unparser function. | |
virtual bool | emitAddress (std::ostream &, const Sawyer::Container::BitVector &, State &, bool always=true) const |
Mid-level unparser function. | |
virtual void | emitCommentBlock (std::ostream &, const std::string &, State &, const std::string &prefix=";;; ") const |
Mid-level unparser function. | |
virtual void | emitTypeName (std::ostream &, SgAsmType *, State &) const |
Mid-level unparser function. | |
virtual void | emitLinePrefix (std::ostream &, State &) const |
Mid-level unparser function. | |
Public Member Functions inherited from Sawyer::SharedObject | |
SharedObject () | |
Default constructor. | |
SharedObject (const SharedObject &) | |
Copy constructor. | |
virtual | ~SharedObject () |
Virtual destructor. | |
SharedObject & | operator= (const SharedObject &) |
Assignment. | |
Static Public Member Functions | |
static Ptr | instance (const Architecture::BaseConstPtr &, const MipsSettings &=MipsSettings()) |
Static Public Member Functions inherited from Rose::BinaryAnalysis::Unparser::Base | |
static std::string | leftJustify (const std::string &, size_t nchars) |
Render a string left justified. | |
static std::string | juxtaposeColumns (const std::vector< std::string > &content, const std::vector< size_t > &minWidths, const std::vector< std::pair< std::string, std::string > > &colorEscapes, const std::string &columnSeparator=" ") |
Render a table row. | |
static bool | ascendingSourceAddress (Partitioner2::ControlFlowGraph::ConstEdgeIterator a, Partitioner2::ControlFlowGraph::ConstEdgeIterator b) |
Return true if edges are in order by source address. | |
static bool | ascendingTargetAddress (Partitioner2::ControlFlowGraph::ConstEdgeIterator a, Partitioner2::ControlFlowGraph::ConstEdgeIterator b) |
Return true if edges are in order by target address. | |
static std::vector< Partitioner2::ControlFlowGraph::ConstEdgeIterator > | orderedBlockPredecessors (const Partitioner2::PartitionerConstPtr &, const Partitioner2::BasicBlockPtr &) |
Ordered incoming CFG edges. | |
static std::vector< Partitioner2::ControlFlowGraph::ConstEdgeIterator > | orderedBlockSuccessors (const Partitioner2::PartitionerConstPtr &, const Partitioner2::BasicBlockPtr &) |
Ordered outgoing CFG edges. | |
Protected Member Functions | |
Mips (const Architecture::BaseConstPtr &, const MipsSettings &) | |
Protected Member Functions inherited from Rose::BinaryAnalysis::Unparser::Base | |
Base (const Architecture::BaseConstPtr &) | |
Base (const Ptr &nextUnparser) | |
Additional Inherited Members | |
Public Types inherited from Rose::BinaryAnalysis::Unparser::Base | |
typedef Sawyer::SharedPointer< Base > | Ptr |
|
overridevirtual |
Implements Rose::BinaryAnalysis::Unparser::Base.
|
inlineoverridevirtual |
Property: Settings associated with this unparser.
Most of these settings can also be configured from the command-line. They control features of the unparser directly without the programmer having to invervene by creating a subclss or chaining a new parser. Most of the switches simply turn things on and off.
Copying an unparser also copies its settings.
Implements Rose::BinaryAnalysis::Unparser::Base.
Definition at line 29 of file Unparser/Mips.h.
|
inlineoverridevirtual |
Property: Settings associated with this unparser.
Most of these settings can also be configured from the command-line. They control features of the unparser directly without the programmer having to invervene by creating a subclss or chaining a new parser. Most of the switches simply turn things on and off.
Copying an unparser also copies its settings.
Implements Rose::BinaryAnalysis::Unparser::Base.
Definition at line 30 of file Unparser/Mips.h.