<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>IR__WeakTopologicalOrder (infer.IR__WeakTopologicalOrder)</title><linkrel="stylesheet"href="../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.1"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../index.html">infer</a>» IR__WeakTopologicalOrder</nav><h1>Module <code>IR__WeakTopologicalOrder</code></h1></header><divclass="spec module"id="module-F"><ahref="#module-F"class="anchor"></a><code><spanclass="keyword">module</span> F = Stdlib.Format</code></div><aside><p>A hierarchical ordering of a set is a well-parenthesized permutation of its elements without two consecutive "(". I defines a total order <= over its elements. The elements between two matching parentheses are called a Component. The first element of a Component is called the head. Let denote by H(v) the set of head of the nested components containing v.</p></aside><divclass="spec module"id="module-Partition"><ahref="#module-Partition"class="anchor"></a><code><spanclass="keyword">module</span><ahref="Partition/index.html">Partition</a> : <spanclass="keyword">sig</span> ... <spanclass="keyword">end</span></code></div><divclass="spec module-type"id="module-type-PreProcCfg"><ahref="#module-type-PreProcCfg"class="anchor"></a><code><spanclass="keyword">module</span><spanclass="keyword">type</span><ahref="module-type-PreProcCfg/index.html">PreProcCfg</a> = <spanclass="keyword">sig</span> ... <spanclass="keyword">end</span></code></div><aside><p>A weak topological ordering (WTO) of a directed graph is a hierarchical ordering of its vertices such that for every edge u -> v,</p><p>u < v and v is not in H(u) (forward edge)</p><p>or</p><p>v <= u and v is in H(u) (feedback edge)</p><p>where H(u) is the set of heads of the nested components containing u.</p><p>A WTO of a directed graph is such that the head v of every feedback edge u -> v is the head of a component containing its tail u.</p></aside><divclass="spec module-type"id="module-type-S"><ahref="#module-type-S"class="anchor"></a><code><spanclass="keyword">module</span><spanclass="keyword">type</span><ahref="module-type-S/index.html">S</a> = <spanclass="keyword">sig</span> ... <spanclass="keyword">end</span></code></div><divclass="spec module-type"id="module-type-Make"><ahref="#module-type-Make"class="anchor"></a><code><spanclass="keyword">module</span><spanclass="keyword">type</span><ahref="module-type-Make/index.html">Make</a> = <spanclass="keyword">functor</span> (<ahref="module-type-Make/argument-1-CFG/index.html">CFG</a> : <ahref="index.html#module-type-PreProcCfg">PreProcCfg</a>) <span>-></span><ahref="index.html#module-type-S">S</a><spanclass="keyword">with</span><spanclass="keyword">module</span><ahref="module-type-Make/CFG/index.html">CFG</a> = <ahref="module-type-Make/index.html#argument-1-CFG">CFG</a></code></div><dl><dtclass="spec module"id="module-Bourdoncle_SCC"><ahref="#module-Bourdoncle_SCC"class="anchor"></a><code><spanclass="keyword">module</span><ahref="Bourdoncle_SCC/index.html">Bourdoncle_SCC</a> : <ahref="index.html#module-type-Make">Make</a></code></dt><dd><p>Implementation of Bourdoncle's "Hierarchical decomposition of a directed graph into strongly connected components and subcomponents". See <code>Bou</code> Figure 4, page 10.</p></dd></dl></div></body></html>