Public Member Functions | |
def | node2str |
def | edge2str |
def | __repr__ |
def | nodes |
def | edges |
def | add_node |
def | del_node |
def | add_edge |
def | add_uniq_edge |
def | del_edge |
def | predecessors_iter |
def | predecessors |
def | successors_iter |
def | successors |
def | leaves_iter |
def | leaves |
def | heads_iter |
def | heads |
def | find_path |
def | dot |
def | reachable_sons |
def | reachable_parents |
def | compute_dominators |
def | compute_postdominators |
def | walk_dominators |
def | walk_postdominators |
def | compute_immediate_dominators |
def | compute_dominance_frontier |
def | walk_breadth_first_forward |
def | walk_depth_first_forward |
def | walk_breadth_first_backward |
def | walk_depth_first_backward |
def | compute_natural_loops |
def | compute_back_edges |
def | compute_strongly_connected_components |
Static Public Member Functions | |
def | node2str |
def | edge2str |
Enhanced graph for Expression diplay Expression are displayed as a tree with node and edge labeled with only relevant information
Definition at line 74 of file expression.py.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
Computes all back edges from a node to a dominator in the graph. :param head: head of graph :return: yield a back edge
Definition at line 396 of file graph.py.
|
inherited |
Compute the dominance frontier of the graph Source: Cooper, Keith D., Timothy J. Harvey, and Ken Kennedy. "A simple, fast dominance algorithm." Software Practice & Experience 4 (2001), p. 9
Definition at line 318 of file graph.py.
|
inherited |
Compute the dominators of the graph
Definition at line 221 of file graph.py.
|
inherited |
Compute the immediate dominators of the graph
Definition at line 306 of file graph.py.
|
inherited |
Computes all natural loops in the graph. Source: Aho, Alfred V., Lam, Monica S., Sethi, R. and Jeffrey Ullman. "Compilers: Principles, Techniques, & Tools, Second Edition" Pearson/Addison Wesley (2007), Chapter 9.6.6 :param head: head of the graph :return: yield a tuple of the form (back edge, loop body)
Definition at line 382 of file graph.py.
|
inherited |
Compute the postdominators of the graph
Definition at line 228 of file graph.py.
|
inherited |
Partitions the graph into strongly connected components. Iterative implementation of Gabow's path-based SCC algorithm. Source: Gabow, Harold N. "Path-based depth-first search for strong and biconnected components." Information Processing Letters 74.3 (2000), pp. 109--110 The iterative implementation is inspired by Mark Dickinson's code: http://code.activestate.com/recipes/ 578507-strongly-connected-components-of-a-directed-graph/ :return: yield a strongly connected component
Definition at line 434 of file graph.py.
|
inherited |
|
inherited |
Delete the @node of the graph; Also delete every edge to/from this @node
Definition at line 35 of file graph.py.
|
inherited |
def miasm2.expression.expression.DiGraphExpr.edge2str | ( | self, | |
nfrom, | |||
nto | |||
) |
Definition at line 95 of file expression.py.
|
staticinherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
def miasm2.expression.expression.DiGraphExpr.node2str | ( | self, | |
node | |||
) |
Definition at line 80 of file expression.py.
|
staticinherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
Compute all parents of node @leaf. Each parent is an immediate predecessor of an arbitrary, already yielded parent of @leaf
Definition at line 167 of file graph.py.
|
inherited |
Compute all nodes reachable from node @head. Each son is an immediate successor of an arbitrary, already yielded son of @head
Definition at line 162 of file graph.py.
|
inherited |
|
inherited |
|
inherited |
Performs a breadth first search on the reversed graph from @head
Definition at line 374 of file graph.py.
|
inherited |
Performs a breadth first search on the graph from @head
Definition at line 366 of file graph.py.
|
inherited |
Performs a depth first search on the reversed graph from @head
Definition at line 378 of file graph.py.
|
inherited |
Performs a depth first search on the graph from @head
Definition at line 370 of file graph.py.
|
inherited |
Return an iterator of the ordered list of @node's dominators The function doesn't return the self reference in dominators. @node: The start node @dominators: The dictionnary containing at least node's dominators
Definition at line 284 of file graph.py.
|
inherited |
Return an iterator of the ordered list of @node's postdominators The function doesn't return the self reference in postdominators. @node: The start node @postdominators: The dictionnary containing at least node's postdominators
Definition at line 294 of file graph.py.