ROSE  0.9.9.139
roseTranslators.h
1 #ifndef ROSETRANSLATORS_H
2 #define ROSETRANSLATORS_H
3 
4 // MSTL
5 #include <Translator.h>
6 
7 //#include <sage3.h>
8 #include <AstDOTGeneration.h>
9 #include <AstPDFGeneration.h>
10 #include <AstConsistencyTests.h>
11 
17 class ROSE_DLL_API CppToCppTranslator : public Translator<int> {
18 
19  public:
21  virtual ~CppToCppTranslator();
22  virtual void setOptions(int argc,char** argv);
23  virtual void setOptions(const std::vector <std::string>& argvList);
24  virtual void frontend();
25  virtual void midend();
26  virtual void backend();
28  virtual int status();
31  virtual void printMessage(std::string s);
32 
33  protected:
36  SgProject* getAstRoot();
38  void setAstRoot(SgProject*);
39  void setStatusCode(int code) { statusCode=code; }
40  private:
41  SgProject* sageProject;
42  int statusCode;
43 };
44 
45 class ROSE_DLL_API CppToVendorTranslator : public CppToCppTranslator {
46 protected:
48  virtual void backend();
49 };
50 
51 class ROSE_DLL_API CppToPdfTranslator : public CppToCppTranslator {
52  public:
53  static bool dumpFullAST; // a flag to indicate if full AST (including parts from headers) should be dumped
54  protected:
56  virtual void backend();
57 };
58 
59 
60 class ROSE_DLL_API CppToDotTranslator : public CppToCppTranslator {
61  protected:
63  void backend();
64 };
65 
66 
67 class ROSE_DLL_API RoseTestTranslator : public CppToVendorTranslator {
68  protected:
71  virtual void midend();
72 };
73 
74 #endif
75 
76 
77 
78 
79 
80 
81 
82 
83 
84 
85 
86 
Default Cpp2Cpp Translator.
This class represents a source project, with a list of SgFile objects and global information about th...