ROSE  0.11.2.0
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 
10 #if ROSE_WITH_LIBHARU
11 #include <AstPDFGeneration.h>
12 #endif
13 
14 #include <AstConsistencyTests.h>
15 
21 class ROSE_DLL_API CppToCppTranslator : public Translator<int> {
22 
23  public:
25  virtual ~CppToCppTranslator();
26  virtual void setOptions(int argc,char** argv);
27  virtual void setOptions(const std::vector <std::string>& argvList);
28  virtual void frontend();
29  virtual void midend();
30  virtual void backend();
32  virtual int status();
35  virtual void printMessage(std::string s);
36 
37  protected:
40  SgProject* getAstRoot();
42  void setAstRoot(SgProject*);
43  void setStatusCode(int code) { statusCode=code; }
44  private:
45  SgProject* sageProject;
46  int statusCode;
47 };
48 
49 class ROSE_DLL_API CppToVendorTranslator : public CppToCppTranslator {
50 protected:
52  virtual void backend();
53 };
54 
55 class ROSE_DLL_API CppToPdfTranslator : public CppToCppTranslator {
56  public:
57  static bool dumpFullAST; // a flag to indicate if full AST (including parts from headers) should be dumped
58  protected:
60  virtual void backend();
61 };
62 
63 
64 class ROSE_DLL_API CppToDotTranslator : public CppToCppTranslator {
65  protected:
67  void backend();
68 };
69 
70 
71 class ROSE_DLL_API RoseTestTranslator : public CppToVendorTranslator {
72  protected:
75  virtual void midend();
76 };
77 
78 #endif
79 
80 
81 
82 
83 
84 
85 
86 
87 
88 
89 
90 
Default Cpp2Cpp Translator.
This class represents a source project, with a list of SgFile objects and global information about th...