<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <link rel="stylesheet" href="style.css" type="text/css"> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> <link rel="Start" href="index.html"> <link rel="previous" href="Reins.SplayMap.html"> <link rel="next" href="Reins.DugADT.html"> <link rel="Up" href="Reins.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of exceptions" rel=Appendix href="index_exceptions.html"> <link title="Index of values" rel=Appendix href="index_values.html"> <link title="Index of modules" rel=Appendix href="index_modules.html"> <link title="Index of module types" rel=Appendix href="index_module_types.html"> <link title="Reins" rel="Chapter" href="Reins.html"><title>Reins.Dug</title> </head> <body> <div class="navbar"><a href="Reins.SplayMap.html">Previous</a> <a href="Reins.html">Up</a> <a href="Reins.DugADT.html">Next</a> </div> <center><h1>Module <a href="type_Reins.Dug.html">Reins.Dug</a></h1></center> <br> <pre><span class="keyword">module</span> Dug: <code class="code">sig</code> <a href="Reins.Dug.html">..</a> <code class="code">end</code></pre><hr width="100%"> <br> Datatype Usage Graphs<br> <pre><span class="keyword">module</span> <a href="Reins.Dug.Id.html">Id</a>: <code class="type"><a href="Reins.Types.Integral.html">Reins.Types.Integral</a></code><code class="type"> </code></pre><br><code><span id="TYPEkind"><span class="keyword">type</span> <code class="type">('a, 'b, 'c)</code> kind</span> = </code><table class="typetable"> <tr> <td align="left" valign="top" > <code><span class="keyword">|</span></code></td> <td align="left" valign="top" > <code><span class="constructor">Generator</span> <span class="keyword">of</span> <code class="type">'a</code></code></td> </tr> <tr> <td align="left" valign="top" > <code><span class="keyword">|</span></code></td> <td align="left" valign="top" > <code><span class="constructor">Mutator</span> <span class="keyword">of</span> <code class="type">'b</code></code></td> </tr> <tr> <td align="left" valign="top" > <code><span class="keyword">|</span></code></td> <td align="left" valign="top" > <code><span class="constructor">Observer</span> <span class="keyword">of</span> <code class="type">'c</code></code></td> </tr></table> <br><code><span id="TYPEedge"><span class="keyword">type</span> <code class="type">('a, 'b, 'c)</code> edge</span> = {</code><table class="typetable"> <tr> <td align="left" valign="top" > <code> </code></td> <td align="left" valign="top" > <code>target : <code class="type">Id.t</code>;</code></td> </tr> <tr> <td align="left" valign="top" > <code> </code></td> <td align="left" valign="top" > <code>op : <code class="type">('a, 'b, 'c) <a href="Reins.Dug.html#TYPEkind">kind</a></code>;</code></td> </tr> <tr> <td align="left" valign="top" > <code> </code></td> <td align="left" valign="top" > <code>pos : <code class="type">int</code>;</code></td> </tr></table> } <br><code><span id="TYPEt"><span class="keyword">type</span> <code class="type">('a, 'b, 'c)</code> t</span> = {</code><table class="typetable"> <tr> <td align="left" valign="top" > <code> </code></td> <td align="left" valign="top" > <code><span class="keyword">mutable </span>current_id : <code class="type">Id.t</code>;</code></td> </tr> <tr> <td align="left" valign="top" > <code> </code></td> <td align="left" valign="top" > <code>nodes : <code class="type">(Id.t, ('a, 'b, 'c) <a href="Reins.Dug.html#TYPEkind">kind</a>) Hashtbl.t</code>;</code></td> </tr> <tr> <td align="left" valign="top" > <code> </code></td> <td align="left" valign="top" > <code>edges : <code class="type">(Id.t, ('a, 'b, 'c) <a href="Reins.Dug.html#TYPEedge">edge</a>) Hashtbl.t</code>;</code></td> </tr></table> } <pre><span id="VALcreate"><span class="keyword">val</span> create</span> : <code class="type">unit -> ('a, 'b, 'c) <a href="Reins.Dug.html#TYPEt">t</a></code></pre><pre><span id="VALclear"><span class="keyword">val</span> clear</span> : <code class="type">('a, 'b, 'c) <a href="Reins.Dug.html#TYPEt">t</a> -> unit</code></pre><pre><span id="VALsize"><span class="keyword">val</span> size</span> : <code class="type">('a, 'b, 'c) <a href="Reins.Dug.html#TYPEt">t</a> -> Id.t</code></pre><pre><span id="VALfresh_id"><span class="keyword">val</span> fresh_id</span> : <code class="type">('a, 'b, 'c) <a href="Reins.Dug.html#TYPEt">t</a> -> Id.t</code></pre><pre><span id="VALis_mutator"><span class="keyword">val</span> is_mutator</span> : <code class="type">('a, 'b, 'c) <a href="Reins.Dug.html#TYPEkind">kind</a> -> bool</code></pre><pre><span id="VALis_generator"><span class="keyword">val</span> is_generator</span> : <code class="type">('a, 'b, 'c) <a href="Reins.Dug.html#TYPEkind">kind</a> -> bool</code></pre><pre><span id="VALis_observer"><span class="keyword">val</span> is_observer</span> : <code class="type">('a, 'b, 'c) <a href="Reins.Dug.html#TYPEkind">kind</a> -> bool</code></pre></body></html>