00001 #ifndef ROSETRANSLATORS_H 00002 #define ROSETRANSLATORS_H 00003 00004 // MSTL 00005 #include <Translator.h> 00006 00007 //#include <sage3.h> 00008 #include <AstDOTGeneration.h> 00009 #include <AstPDFGeneration.h> 00010 #include <AstConsistencyTests.h> 00011 00017 class ROSE_DLL_API CppToCppTranslator : public Translator<int> { 00018 00019 public: 00020 CppToCppTranslator(); 00021 virtual ~CppToCppTranslator(); 00022 virtual void setOptions(int argc,char** argv); 00023 virtual void frontend(); 00024 virtual void midend(); 00025 virtual void backend(); 00027 virtual int status(); 00030 virtual void printMessage(std::string s); 00031 00032 protected: 00035 SgProject* getAstRoot(); 00037 void setAstRoot(SgProject*); 00038 void setStatusCode(int code) { statusCode=code; } 00039 private: 00040 SgProject* sageProject; 00041 int statusCode; 00042 }; 00043 00044 class ROSE_DLL_API CppToVendorTranslator : public CppToCppTranslator { 00045 protected: 00047 virtual void backend(); 00048 }; 00049 00050 class ROSE_DLL_API CppToPdfTranslator : public CppToCppTranslator { 00051 protected: 00053 virtual void backend(); 00054 }; 00055 00056 00057 class ROSE_DLL_API CppToDotTranslator : public CppToCppTranslator { 00058 protected: 00060 void backend(); 00061 }; 00062 00063 00064 class ROSE_DLL_API RoseTestTranslator : public CppToVendorTranslator { 00065 protected: 00068 virtual void midend(); 00069 }; 00070 00071 #endif 00072 00073 00074 00075 00076 00077 00078 00079 00080 00081 00082 00083
1.4.7