1#include <featureTests.h> 
    2#ifdef ROSE_ENABLE_SOURCE_ANALYSIS 
    7#include "genericDataflowCommon.h"  
    9#include "VirtualCFGIterator.h" 
   10#include "DataflowCFG.h" 
   21  void initCFGUtils(
SgProject* project_arg);
 
   30  bool computeTermsOfIfCondition_LTEQ(
SgExpression *expr, 
varID &x, 
bool& negX, 
varID &y, 
bool& negY, 
long &c);
 
   36  bool computeTermsOfIfCondition_EQ(
SgExpression *expr, 
varID &x, 
bool& negX, 
varID &y, 
bool& negY, 
long &c);
 
   50    findArrayAccesses(
SgNode* ast_node, 
 
   51        m_varID2varID2quad &wrIndex, m_varID2varID2quad &rdIndex,
 
   52        m_varID2bool &rdFromExp, m_varID2bool &wrFromExp, 
 
   53        varIDSet arrays, m_varID2str vars2Name);
 
   66  bool parseArrayAccess(
SgNode* ast_node,
 
   67      m_varID2varID2quad& wrIndexSimp, varIDlist& wrIndexCpx, 
 
   68      m_varID2varID2quad& rdIndexSimp, varIDlist& rdIndexCpx,
 
   69      m_varID2str vars2Name);
 
   74   bool isAssignment(
SgNode* n);
 
   82  void getAssignmentRHS(
SgNode* n, std::set<SgNode*>& rhs);
 
   86  const short subtract=2;
 
   95  bool parseAssignment(
SgNode* expr, 
short& op, 
varID &i, 
varID &j, 
bool& negJ, 
varID &k, 
bool& negK, 
long &c);
 
  144  std::string genUniqueName();
 
This class represents the notion of an expression. Expressions are derived from SgLocatedNodes,...
 
This class represents the concept of a function declaration statement.
 
This class represents the concept of a scope in C++ (e.g. global scope, fuction scope,...
 
This class represents the base class for all IR nodes within Sage III.
 
This class represents a source project, with a list of SgFile objects and global information about th...
 
A node in the control flow graph.
 
ROSE_DLL_API SgProject * getProject()
Get the current SgProject IR Node.