blob: a3a6fd5aa7b358d1228c749ca6cb4973f5b566f0 [file] [log] [blame]
import SimpleGraph : 'SimpleGraph.ecore'::simplegraph;
import SimpleGraph2Graph : 'SimpleGraph2Graph.ecore'::simplegraph2graph;
transformation CopyGraphMinimal {
upperGraph imports SimpleGraph;
lowerGraph imports SimpleGraph;
middle imports SimpleGraph2Graph;
map graph2graphLM {
guard:upperGraph g1:Graph;
new:middle g2g:Graph2Graph;
set g2g.graph1 := g1;
set g2g.name := g1.name;
call graph2graphMR {
g2gout uses g2g;
}
}
map graph2graphMR {
in:middle g2gout:Graph2Graph;
new:lowerGraph g2:Graph;
set g2gout.graph2 := g2;
set g2.name := g2gout.name;
}
entry __root__ input upperGraph output lowerGraph {
for g1 : SimpleGraph::Graph in SimpleGraph::Graph.allInstances() {
call graph2graphLM {
g1 iterates g1;
}
}
}
}