Skip to content

AST_Graph

Types

Name

Description

DataMemberPointersToIR

* The class class DataMemberPointersToIR implements two different ways of constructing a graph from the AST. * The memory pool traversal which is why the class inherits fromROSE_VisitTraversal * Whole AST traversal through traversing on nodes This design decision is peculiar out from a inheritance perspective, butmakes sence to bridge between the iheritance style of Marcus and an STLalgorithm style. Caveats: * one member functions is only used by the memory pool traversal ‐visit(..) The member function generateGraphFromMemoryPool(..) is required toachieve STL style algorithms where the bace‐class uses implemenatation byvirtual functions. Great things: * avoid duplicate implementation * allows a very simple implementation******

defaultFilterBinary

* The functional struct defaultFilterBinary is an example filter on edges.

defaultFilterUnary

* The functional struct defaultFilterUnary is an example filter on nodes.

filterSgFileInfo

filterSgFileInfoAndGnuCompatabilityNode

my_pair

* Define custom return type from the filter functionals. This is an experiment to see if a std::pair like data structure where the variables names are not std::pair<>::first and std::pair<>::second. This data structure is expectedto change as the code develops.*

nodePartOfGraph

FunctionalReturnType

NodeType

NodeTypeVector

Functions

Name

Description

writeGraphOfAstSubGraphToFile
void writeGraphOfAstSubGraphToFile(std::string filename, SgNode* node, AST_Graph::pointerHandling graphNullPointers, int depth = ‐1);

writeGraphOfAstSubGraphToFile overloads

writeGraphOfMemoryPoolToFile
void writeGraphOfMemoryPoolToFile(std::string filename, AST_Graph::pointerHandling);

writeGraphOfMemoryPoolToFile overloads

operator==
template< class _T1, class _T2, class _T3> bool operator==(my_pair<_T1, _T2, _T3> const& x, my_pair<_T1, _T2, _T3> const& y);

Two my_pairs of the same type are equal iff their members are equal.

operator!=
template< class _T1, class _T2, class _T3> bool operator!=(my_pair<_T1, _T2, _T3> const& x, my_pair<_T1, _T2, _T3> const& y);

Uses operator== to find the result.

operator<
template< class _T1, class _T2, class _T3> bool operator<(my_pair<_T1, _T2, _T3> const& x, my_pair<_T1, _T2, _T3> const& y);

<http://gcc.gnu.org/onlinedocs/libstdc++/20_util/howto.html#my_pairlt>

operator<=
template< class _T1, class _T2, class _T3> bool operator<=(my_pair<_T1, _T2, _T3> const& x, my_pair<_T1, _T2, _T3> const& y);

Uses operator< to find the result.

operator>
template< class _T1, class _T2, class _T3> bool operator>(my_pair<_T1, _T2, _T3> const& x, my_pair<_T1, _T2, _T3> const& y);

Uses operator< to find the result.

operator>=
template< class _T1, class _T2, class _T3> bool operator>=(my_pair<_T1, _T2, _T3> const& x, my_pair<_T1, _T2, _T3> const& y);

Uses operator< to find the result.

Created with MrDocs