| File | graph.str |
| Author | unknown |
| Since | unknown |
A generic algorithm for mapping a graph to a collection of nodes reachablefrom a given root node.
Basic idea: configuration of the form (todo, done, files), keep adding files corresponding to the names in \verb|todo| until empty
| General | |
| Lines of code | 74 |
| Stratego | |
| Module number | 1 (100% documented) |
| Constructor number | 0 |
| Overlay number | 0 |
| Strategy number | 6 (16% documented) |
| Rule number | 6 (0% documented) |
| DynamicRule number | 0 |
Strategy summary |
||
| graph-nodes(Strategy get-node, Strategy out-edges, Strategy add-node) | The strategy 'graph-nodes' is a generic algorithm for mapping a graph to a collection of nodes reachable from a given root node | graph.str |
| graph-nodes-roots(Strategy get-node, Strategy out-edges, Strategy add-node) | n/a | graph.str |
| graph-nodes-undef(Strategy get-node, Strategy out-edges, Strategy add-node) | n/a | graph.str |
| graph-nodes-undef-chgr(Strategy get-node, Strategy out-edges, Strategy add-node) | n/a | graph.str |
| graph-nodes-undef-roots(Strategy get-node, Strategy out-edges, Strategy add-node) | n/a | graph.str |
| graph-nodes-undef-roots-chgr(Strategy get-node, Strategy out-edges, Strategy add-node) | n/a | graph.str |
Rule summary |
||
| GnExit | n/a | graph.str |
| GnInit | n/a | graph.str |
| GnInitRoots | n/a | graph.str |
| GnNext(Strategy get-node, Strategy out-edges, Strategy add-node) | n/a | graph.str |
| GnNextChangeGraph(Strategy get-node, Strategy out-edges, Strategy add-node) | n/a | graph.str |
| GnUndefined | n/a | graph.str |
Strategy details |
|||||||||
| ATerm | graph-nodes(Strategy get-node, Strategy out-edges, Strategy add-node) | ||||||||
The strategy 'graph-nodes' is a genericalgorithm for mapping a graph to a collection of nodes reachablefrom a given root node. The algorithm is parameterized with thefollowing notions: 'get-node' maps a node name and a graph to thenode itself, 'out-edges' maps a node to the names of its outedges, 'add-node' that adds a name and its corresponding node to acollection of nodes. get-node :: name * graph -> node out-edges :: node -> List(name)add-node :: name * node * nodes -> nodes |
|||||||||