ROSE  0.11.145.0
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 #include <unordered_set>
12 
13 class AstTerm {
14  public:
15  static std::string astTermToMultiLineString(SgNode* node,int sep=1, int pos=0);
16  static std::string astTermWithNullValuesAndTypesToString(SgNode* node);
17  static std::string astTermWithNullValuesToString(SgNode* node);
18  static std::string astTermWithNullValuesToString(SgNode* node, bool withNumbers);
19  static std::string astTermWithNullValuesToString(SgNode* node, bool withNumbers, bool withTypes);
20  static std::string astTermWithNullValuesToDot(SgNode* root);
21  static std::string astTermWithoutNullValuesToDot(SgNode* root);
22  static std::string astTermWithNullValuesToDotFragment(SgNode* root) ;
23  static std::string astTermToDot(RoseAst::iterator start, RoseAst::iterator end);
24  static std::string functionAstTermsWithNullValuesToDot(SgNode* root);
25  static std::string pointerExprToString(SgNode* node);
26  private:
27  static std::string nodeTypeName(SgNode* node);
28  static std::string dotFragmentToDot(std::string fragment);
29  static std::string astTermWithNullValuesToString(SgNode* node, bool withNumbers, bool withTypes, std::unordered_set<SgNode*>& visited);
30 };
31 
32 #endif
AST iterator.
Definition: RoseAst.h:54
This class represents the base class for all IR nodes within Sage III.
Definition: Cxx_Grammar.h:9846