ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RoseBin_GmlGraph.h
Go to the documentation of this file.
1 /****************************************************
2  * RoseBin :: Binary Analysis for ROSE
3  * Author : tps
4  * Date : Sep26 07
5  * Decription : Visualization in GML
6  ****************************************************/
7 
8 #ifndef __RoseBin_GMLGraph__
9 #define __RoseBin_GMLGraph__
10 
11 #include "RoseBin_Graph.h"
12 
13 
15  private:
16  std::string getInternalNodes(SgGraphNode* node,
17  bool forward_analysis, SgAsmNode* internal);
18 
19  std::map < SgAsmStatement*, int > nodesMap;
20  std::map < SgAsmFunction*, int > funcMap;
21 
22  void printEdges_single( VirtualBinCFG::AuxiliaryInformation* info,
23  bool forward_analysis, std::ofstream& myfile);
24  void printEdges_multiple( VirtualBinCFG::AuxiliaryInformation* info,
25  bool forward_analysis, std::ofstream& myfile);
27  bool forward_analysis, std::ofstream& myfile, SgDirectedGraphEdge* edge);
28 
32 
33  public:
35 
36  //added this for vizz3d visualization
37  skipFunctions=false;
38  skipInternalEdges=true;
39  onlyControlStructure=true;
40  }
41  virtual ~RoseBin_GMLGraph() {}
42 
43  void printNodes( bool dfg, RoseBin_FlowAnalysis* flow, bool forward_analysis,
44  std::ofstream &myfile, std::string& recursiveFunctionName);
45 
47  bool forward_analysis, std::ofstream& myfile, bool mergedEdges);
48 
49  void printProlog( std::ofstream& myfile, std::string& fileType);
50  void printEpilog( std::ofstream& myfile);
51 
52 };
53 
54 #endif