ROSE 0.11.145.147
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
13class 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.