ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RoseBin_DotGraph.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 DOT
6  ****************************************************/
7 
8 #ifndef __RoseBin_DotGraph__
9 #define __RoseBin_DotGraph__
10 
11 #include "RoseBin_Graph.h"
12 #include "virtualBinCFG.h"
13 
15  private:
16  void printInternalNodes( bool dfg, bool forward_analysis,
17  std::ofstream &myfile, std::string& recursiveFunctionName,
18  SgAsmFunction* p_binFunc);
19 
20  typedef std::multimap < SgAsmFunction*,
21  std::pair <int, SgGraphNode*> > inverseNodeType;
23 
24  void printEdges_single( VirtualBinCFG::AuxiliaryInformation* info,
25  bool forward_analysis, std::ofstream& myfile);
26  void printEdges_multiple( VirtualBinCFG::AuxiliaryInformation* info,
27  bool forward_analysis, std::ofstream& myfile);
29  bool forward_analysis, std::ofstream& myfile, SgDirectedGraphEdge* edge);
30 
31  public:
34 
35  void printNodes( bool dfg, RoseBin_FlowAnalysis* flow, bool forward_analysis,
36  std::ofstream &myfile, std::string& recursiveFunctionName);
37  void printNodesCallGraph(std::ofstream& myfile);
38 
40  bool forward_analysis, std::ofstream& myfile, bool mergedEdges);
41 
42  void printProlog( std::ofstream& myfile, std::string& fileType);
43  void printEpilog( std::ofstream& myfile);
44 
45 };
46 
47 #endif