1 #ifndef ROSE_BinaryAnalysis_Unparser_Cil_H
2 #define ROSE_BinaryAnalysis_Unparser_Cil_H
3 #include <featureTests.h>
4 #ifdef ROSE_ENABLE_BINARY_ANALYSIS
5 #include <Rose/BinaryAnalysis/Unparser/Base.h>
8 namespace BinaryAnalysis {
12 std::string unparseCilExpression(
SgAsmExpression*,
const LabelMap*,
const RegisterDictionary*);
16 class Cil:
public Base {
21 : settings_(settings) {}
25 return Ptr(
new Cil(settings));
28 Ptr copy()
const override {
29 return instance(settings());
32 const CilSettings& settings()
const override {
return settings_; }
33 CilSettings& settings()
override {
return settings_; }
36 void emitInstruction(std::ostream&,
SgAsmInstruction*, State&)
const override;
37 void emitOperandBody(std::ostream&,
SgAsmExpression*, State&)
const override;
Base class for machine instructions.
Main namespace for the ROSE library.
Settings that control unparsing.
Base class for expressions.