joeq.Compiler.Dataflow
Class Solver

java.lang.Object
  extended by joeq.Compiler.Dataflow.Solver
Direct Known Subclasses:
IterativeSolver, WorklistSolver

public abstract class Solver
extends java.lang.Object

Solver

Version:
$Id: Solver.java,v 1.5 2004/09/22 22:17:26 joewhaley Exp $
Author:
John Whaley

Method Summary
abstract  java.util.Iterator allLocations()
          Returns an iteration of all graph locations.
abstract  java.util.Iterator boundaryLocations()
          Returns an iteration of all boundary locations.
static void compareResults(jwutil.graphs.Graph g, Solver s1, Solver s2)
           
 boolean direction()
          Returns the direction of the dataflow problem that we are solving.
static void dumpResults(jwutil.graphs.Graph g, Solver s)
           
 Fact getDataflowValue(java.lang.Object c)
          Get the dataflow value associated with the given location.
 void initialize(Problem p, jwutil.graphs.Graph graph)
          Initializes the solver to prepare to solve the dataflow problem on the given graph.
 void reset()
          Frees the memory associated with this solver.
abstract  void solve()
          Solves this dataflow problem.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

direction

public boolean direction()
Returns the direction of the dataflow problem that we are solving.


allLocations

public abstract java.util.Iterator allLocations()
Returns an iteration of all graph locations.


boundaryLocations

public abstract java.util.Iterator boundaryLocations()
Returns an iteration of all boundary locations.


initialize

public void initialize(Problem p,
                       jwutil.graphs.Graph graph)
Initializes the solver to prepare to solve the dataflow problem on the given graph.


solve

public abstract void solve()
Solves this dataflow problem.


reset

public void reset()
Frees the memory associated with this solver.


getDataflowValue

public Fact getDataflowValue(java.lang.Object c)
Get the dataflow value associated with the given location.


dumpResults

public static void dumpResults(jwutil.graphs.Graph g,
                               Solver s)

compareResults

public static void compareResults(jwutil.graphs.Graph g,
                                  Solver s1,
                                  Solver s2)