1 #ifndef ROSE_BinaryAnalysis_Unparser_Mips_H
2 #define ROSE_BinaryAnalysis_Unparser_Mips_H
3 #include <featureTests.h>
4 #ifdef ROSE_ENABLE_BINARY_ANALYSIS
5 #include <Rose/BinaryAnalysis/Unparser/Base.h>
7 #include <Rose/BinaryAnalysis/BasicTypes.h>
10 namespace BinaryAnalysis {
26 : settings_(settings) {}
30 return Ptr(
new Mips(settings));
33 Ptr copy()
const override {
34 return instance(settings());
37 const MipsSettings& settings()
const override {
return settings_; }
41 void emitInstruction(std::ostream&,
SgAsmInstruction*, State&)
const override;
42 void emitOperandBody(std::ostream&,
SgAsmExpression*, State&)
const override;
Settings specific to the MIP unparser.
Unparser for the MIPS instruction set.
Base class for machine instructions.
Sawyer::SharedPointer< RegisterDictionary > RegisterDictionaryPtr
Reference counting pointer.
Main namespace for the ROSE library.
Settings that control unparsing.
Base class for expressions.
Represents one MIPS machine instruction.