SandMark version 2.0


sandmark.watermark.ct.encode
Class Graph2IR

java.lang.Object
  |
  +--sandmark.watermark.ct.encode.Graph2IR

public class Graph2IR
extends java.lang.Object

This class converts a sandmark.util.graph.Graph into a program that builds this graph. The program is made up of intermedite code statements, taken from sandmark.watermark.ct.encode.ir.*.

Call like this:

    sandmark.util.graph.Graph graph = ...
    sandmark.watermark.ct.encode.Split split = new sandmark.watermark.ct.encode.Split(graph,2);
    split.split();
    sandmark.watermark.ct.encode.storage.GlobalStorage storage = ...
    sandmark.watermark.ct.encode.ir.Build B = 
       sandmark.watermark.ct.encode.Graph2IR(graph, 
                                split.subGraphs, 
                                split.componentGraph, 
                                storage);
 
Each subgraph is turned into a Java method that when run, will build that subgraph. A set of fixup methods are also created which should be run to connect the subgraphs in order to create the complete graph.


Nested Class Summary
(package private) static class Graph2IR.Path
           
 
Constructor Summary
Graph2IR()
           
 
Method Summary
static List addLinks(Graph graph, Graph subGraph, Node node, int[] edgeClass)
           
static Graph2IR.Path findPath(Graph graph, Node root, Node node)
           
static Graph2IR.Path findPath(Graph graph, Node root, Node node, Graph2IR.Path currentPath)
           
static Build gen(Graph graph, Graph[] subGraphs, Graph componentGraph, GlobalStorage storage)
           
static List genCreator_addBackwardLinks(Graph graph, Graph subGraph)
           
static List genCreator_addForwardLinks(Graph graph, Graph subGraph)
           
static Method genCreator(Graph graph, Graph subGraph, boolean isCreator)
           
static List genCreators(Graph graph, Graph[] components, boolean isCreator)
           
static IR genFixup(Graph graph, Graph subGraph1, Graph subGraph2, java.util.HashSet edges)
           
static List genFixups(Graph graph, Graph[] subGraphs)
           
static List graph2links(Graph graph, Graph subGraph, Graph2IR.Path path)
           
static void main(java.lang.String[] args)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Graph2IR

public Graph2IR()
Method Detail

gen

public static Build gen(Graph graph,
                        Graph[] subGraphs,
                        Graph componentGraph,
                        GlobalStorage storage)

addLinks

public static List addLinks(Graph graph,
                            Graph subGraph,
                            Node node,
                            int[] edgeClass)

findPath

public static Graph2IR.Path findPath(Graph graph,
                                     Node root,
                                     Node node,
                                     Graph2IR.Path currentPath)

findPath

public static Graph2IR.Path findPath(Graph graph,
                                     Node root,
                                     Node node)

genCreator_addForwardLinks

public static List genCreator_addForwardLinks(Graph graph,
                                              Graph subGraph)

genCreator_addBackwardLinks

public static List genCreator_addBackwardLinks(Graph graph,
                                               Graph subGraph)

genCreator

public static Method genCreator(Graph graph,
                                Graph subGraph,
                                boolean isCreator)

genCreators

public static List genCreators(Graph graph,
                               Graph[] components,
                               boolean isCreator)

graph2links

public static List graph2links(Graph graph,
                               Graph subGraph,
                               Graph2IR.Path path)

genFixup

public static IR genFixup(Graph graph,
                          Graph subGraph1,
                          Graph subGraph2,
                          java.util.HashSet edges)

genFixups

public static List genFixups(Graph graph,
                             Graph[] subGraphs)

main

public static void main(java.lang.String[] args)

SandMark version 2.0

Mon Jun 17 12:30:47 MST 2002