1 // Copyright 2006-2007 all rights reserved; see LICENSE file for BSD-style license
3 package edu.berkeley.sbp;
4 import edu.berkeley.sbp.*;
5 import edu.berkeley.sbp.util.*;
6 import edu.berkeley.sbp.Parser.Table.*;
7 import edu.berkeley.sbp.Sequence.Pos;
8 import edu.berkeley.sbp.Sequence.Pos;
11 import java.lang.reflect.*;
14 implements IntegerMappable,
17 // GraphViz //////////////////////////////////////////////////////////////////////////////
19 public GraphViz.StateNode toGraphViz(GraphViz gv) {
20 if (gv.hasNode(this)) return gv.createNode(this);
21 GraphViz.StateNode n = gv.createNode(this);
24 n.shape = "rectangle";
25 //if (pred()!=null) n.edge(pred, "");
28 ((GraphViz.Group)phase().toGraphViz(gv)).add(n);
29 n.label = "state["+state.toInt()+"]";
30 n.shape = "rectangle";
31 boolean haspreds = false;
32 for(ResultNode r : results) n.edge(r, "");
33 n.color = state.doomed ? "red" : "green";
34 ((GraphViz.Group)phase().toGraphViz(gv)).add(n);
38 public boolean isTransparent() { return false; }
39 public boolean isHidden() { return false; }
41 // IntegerMappable ////////////////////////////////////////////////////////////
43 private static int node_idx = 0;
44 private final int idx = node_idx++;
45 public int toInt() { return idx; }