ROSE  0.9.10.69
AstTerm.h
1 
2 #ifndef ASTTERM_H
3 #define ASTTERM_H
4 
5 /*********************************
6  * Author: Markus Schordan, 2012 *
7  *********************************/
8 
9 #include "RoseAst.h"
10 #include <typeinfo>
11 
12 class AstTerm {
13  public:
14  static std::string astTermToMultiLineString(SgNode* node,int sep=1, int pos=0);
15  static std::string astTermWithNullValuesAndTypesToString(SgNode* node);
16  static std::string astTermWithNullValuesToString(SgNode* node);
17  static std::string astTermWithNullValuesToString(SgNode* node, bool withNumbers);
18  static std::string astTermWithNullValuesToString(SgNode* node, bool withNumbers, bool withTypes);
19  static std::string astTermWithNullValuesToDot(SgNode* root);
20  static std::string astTermWithoutNullValuesToDot(SgNode* root);
21  static std::string astTermWithNullValuesToDotFragment(SgNode* root) ;
22  static std::string astTermToDot(RoseAst::iterator start, RoseAst::iterator end);
23  static std::string functionAstTermsWithNullValuesToDot(SgNode* root);
24  static std::string pointerExprToString(SgNode* node);
25  private:
26  static std::string nodeTypeName(SgNode* node);
27  static std::string dotFragmentToDot(std::string fragment);
28 };
29 
30 #endif
AST iterator.
Definition: RoseAst.h:56
This class represents the base class for all IR nodes within Sage III.
Definition: Cxx_Grammar.h:8672