| Linux hosting5.siteguarding.com 3.10.0-962.3.2.lve1.5.88.el7.x86_64 #1 SMP Fri Sep 26 14:06:42 UTC 2025 x86_64 Path : /usr/share/graphviz/gvpr/ |
| Current File : //usr/share/graphviz/gvpr/group |
/* Collapse all nodes with group = X into a single node */
BEG_G {
node_t metaN;
graph_t g = graph ("metagraph", "S");
$tvtype = TV_ne;
$O = g;
}
/* create only one node with given name/value */
N[group == "X"] {
if (!metaN) {
metaN = node (g, $.name);
}
}
/* duplicate all others */
N[group != "X"] { node (g, $.name); }
/* Create an edge only if at least one of the nodes
* is not a collapsed node */
E {
node_t t;
node_t h;
if ($.tail.group == "X") {
if ($.head.group == "X") return;
t = metaN;
h = node (g, $.head.name);
}
else if ($.head.group == "X") {
t = node (g, $.tail.name);
h = metaN;
}
else {
t = node (g, $.tail.name);
h = node (g, $.head.name);
}
edge (t, h, "");
}
/* set g to be output graph */