flow_graph
Class FlowGraph

java.lang.Object
  extended by graph.Graph
      extended by flow_graph.FlowGraph
Direct Known Subclasses:
AssemFlowGraph

public abstract class FlowGraph
extends Graph

A control flow graph is a directed graph in which each edge indicates a possible flow of control. Also, each node in the graph defines a set of temporaries; each node uses a set of temporaries; and each node is, or is not, a move instruction.

See Also:
AssemFlowGraph

Constructor Summary
FlowGraph()
           
 
Method Summary
abstract  List<Temp> getDefined(Node node)
           
abstract  Instr getInstr(Node node)
           
abstract  List<Temp> getUsed(Node node)
           
 void show(java.io.PrintStream out)
          Print a human-readable dump for debugging.
 
Methods inherited from class graph.Graph
addEdge, newNode, nodes, rmEdge
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FlowGraph

public FlowGraph()
Method Detail

getInstr

public abstract Instr getInstr(Node node)
Parameters:
node - Nó do qual deseja se recuperar a instrução
Returns:
Instrução

getDefined

public abstract List<Temp> getDefined(Node node)
Parameters:
node - Nó do qual deseja se encontrar os temporários definidos na instrução
Returns:
Lista de temporários definidos na instrução

getUsed

public abstract List<Temp> getUsed(Node node)
Parameters:
node - Nó do qual deseja se encontrar os temporários usados na instrução
Returns:
Lista de temporários usados na instrução

show

public void show(java.io.PrintStream out)
Print a human-readable dump for debugging.

Overrides:
show in class Graph