<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 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="Sig" rel="Chapter" href="Sig.html"> <link title="Sig_pack" rel="Chapter" href="Sig_pack.html"> <link title="Dot_ast" rel="Chapter" href="Dot_ast.html"> <link title="Util" rel="Chapter" href="Util.html"> <link title="Persistent" rel="Chapter" href="Persistent.html"> <link title="Imperative" rel="Chapter" href="Imperative.html"> <link title="Delaunay" rel="Chapter" href="Delaunay.html"> <link title="Builder" rel="Chapter" href="Builder.html"> <link title="Classic" rel="Chapter" href="Classic.html"> <link title="Rand" rel="Chapter" href="Rand.html"> <link title="Oper" rel="Chapter" href="Oper.html"> <link title="Path" rel="Chapter" href="Path.html"> <link title="Traverse" rel="Chapter" href="Traverse.html"> <link title="Coloring" rel="Chapter" href="Coloring.html"> <link title="Topological" rel="Chapter" href="Topological.html"> <link title="Components" rel="Chapter" href="Components.html"> <link title="Kruskal" rel="Chapter" href="Kruskal.html"> <link title="Flow" rel="Chapter" href="Flow.html"> <link title="Graphviz" rel="Chapter" href="Graphviz.html"> <link title="Gml" rel="Chapter" href="Gml.html"> <link title="Dot" rel="Chapter" href="Dot.html"> <link title="Pack" rel="Chapter" href="Pack.html"> <link title="Gmap" rel="Chapter" href="Gmap.html"> <link title="Minsep" rel="Chapter" href="Minsep.html"> <link title="Cliquetree" rel="Chapter" href="Cliquetree.html"> <link title="Mcs_m" rel="Chapter" href="Mcs_m.html"> <link title="Md" rel="Chapter" href="Md.html"> <link title="Strat" rel="Chapter" href="Strat.html"><title>Graphviz</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">type</span> color = int<br> <span class="keyword">type</span> arrow_style =<br> [ <span class="keywordsign">`</span><span class="constructor">Dot</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Inv</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Invdot</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Invodot</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">None</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Normal</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Odot</span> ]<br> <span class="keyword">module</span> <span class="keyword">type</span> <span class="constructor">ATTRIBUTES</span> =<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> graph<br> <span class="keyword">type</span> vertex<br> <span class="keyword">type</span> edge<br> <span class="keyword">type</span> subgraph = {<br> sg_name : string;<br> sg_attributes : <span class="constructor">Graphviz</span>.<span class="constructor">ATTRIBUTES</span>.vertex list;<br> }<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">CommonAttributes</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> graph =<br> [ <span class="keywordsign">`</span><span class="constructor">Center</span> <span class="keyword">of</span> bool<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontcolor</span> <span class="keyword">of</span> <span class="constructor">Graphviz</span>.color<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontname</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontsize</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Label</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">OrderingOut</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Orientation</span> <span class="keyword">of</span> [ <span class="keywordsign">`</span><span class="constructor">Landscape</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Portrait</span> ]<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Page</span> <span class="keyword">of</span> float * float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Pagedir</span> <span class="keyword">of</span> [ <span class="keywordsign">`</span><span class="constructor">LeftToRight</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">TopToBottom</span> ]<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Size</span> <span class="keyword">of</span> float * float ]<br> <span class="keyword">type</span> vertex =<br> [ <span class="keywordsign">`</span><span class="constructor">Color</span> <span class="keyword">of</span> <span class="constructor">Graphviz</span>.color<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontcolor</span> <span class="keyword">of</span> <span class="constructor">Graphviz</span>.color<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontname</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontsize</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Height</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Label</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Orientation</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Peripheries</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Regular</span> <span class="keyword">of</span> bool<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Shape</span> <span class="keyword">of</span><br> [ <span class="keywordsign">`</span><span class="constructor">Box</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Circle</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Diamond</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Doublecircle</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Ellipse</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Plaintext</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Polygon</span> <span class="keyword">of</span> int * float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Record</span> ]<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Style</span> <span class="keyword">of</span><br> [ <span class="keywordsign">`</span><span class="constructor">Bold</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Dashed</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Dotted</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Filled</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Invis</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Solid</span> ]<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Width</span> <span class="keyword">of</span> float ]<br> <span class="keyword">type</span> edge =<br> [ <span class="keywordsign">`</span><span class="constructor">Color</span> <span class="keyword">of</span> <span class="constructor">Graphviz</span>.color<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Decorate</span> <span class="keyword">of</span> bool<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Dir</span> <span class="keyword">of</span> [ <span class="keywordsign">`</span><span class="constructor">Back</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Both</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Forward</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">None</span> ]<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontcolor</span> <span class="keyword">of</span> <span class="constructor">Graphviz</span>.color<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontname</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontsize</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Label</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Labelfontcolor</span> <span class="keyword">of</span> <span class="constructor">Graphviz</span>.color<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Labelfontname</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Labelfontsize</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Style</span> <span class="keyword">of</span> [ <span class="keywordsign">`</span><span class="constructor">Bold</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Dashed</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Dotted</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Invis</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Solid</span> ] ]<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">DotAttributes</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> graph =<br> [ <span class="keywordsign">`</span><span class="constructor">Bgcolor</span> <span class="keyword">of</span> <span class="constructor">Graphviz</span>.color<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Center</span> <span class="keyword">of</span> bool<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Comment</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Concentrate</span> <span class="keyword">of</span> bool<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontcolor</span> <span class="keyword">of</span> <span class="constructor">Graphviz</span>.color<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontname</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontpath</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontsize</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Label</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Layers</span> <span class="keyword">of</span> string list<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Margin</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Mclimit</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Nodesep</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Nslimit</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Nslimit1</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">OrderingOut</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Orientation</span> <span class="keyword">of</span> [ <span class="keywordsign">`</span><span class="constructor">Landscape</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Portrait</span> ]<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Page</span> <span class="keyword">of</span> float * float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Pagedir</span> <span class="keyword">of</span> [ <span class="keywordsign">`</span><span class="constructor">LeftToRight</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">TopToBottom</span> ]<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Quantum</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Rankdir</span> <span class="keyword">of</span> [ <span class="keywordsign">`</span><span class="constructor">LeftToRight</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">TopToBottom</span> ]<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Ranksep</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Ratio</span> <span class="keyword">of</span> [ <span class="keywordsign">`</span><span class="constructor">Auto</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Compress</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fill</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Float</span> <span class="keyword">of</span> float ]<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Samplepoints</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Size</span> <span class="keyword">of</span> float * float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Url</span> <span class="keyword">of</span> string ]<br> <span class="keyword">type</span> vertex =<br> [ <span class="keywordsign">`</span><span class="constructor">Color</span> <span class="keyword">of</span> <span class="constructor">Graphviz</span>.color<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Comment</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Distortion</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fillcolor</span> <span class="keyword">of</span> <span class="constructor">Graphviz</span>.color<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fixedsize</span> <span class="keyword">of</span> bool<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontcolor</span> <span class="keyword">of</span> <span class="constructor">Graphviz</span>.color<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontname</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontsize</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Height</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Label</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Layer</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Orientation</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Peripheries</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Regular</span> <span class="keyword">of</span> bool<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Shape</span> <span class="keyword">of</span><br> [ <span class="keywordsign">`</span><span class="constructor">Box</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Circle</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Diamond</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Doublecircle</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Ellipse</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Plaintext</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Polygon</span> <span class="keyword">of</span> int * float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Record</span> ]<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Style</span> <span class="keyword">of</span><br> [ <span class="keywordsign">`</span><span class="constructor">Bold</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Dashed</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Dotted</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Filled</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Invis</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Solid</span> ]<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Url</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Width</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Z</span> <span class="keyword">of</span> float ]<br> <span class="keyword">type</span> edge =<br> [ <span class="keywordsign">`</span><span class="constructor">Arrowhead</span> <span class="keyword">of</span> <span class="constructor">Graphviz</span>.arrow_style<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Arrowsize</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Arrowtail</span> <span class="keyword">of</span> <span class="constructor">Graphviz</span>.arrow_style<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Color</span> <span class="keyword">of</span> <span class="constructor">Graphviz</span>.color<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Comment</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Constraints</span> <span class="keyword">of</span> bool<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Decorate</span> <span class="keyword">of</span> bool<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Dir</span> <span class="keyword">of</span> [ <span class="keywordsign">`</span><span class="constructor">Back</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Both</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Forward</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">None</span> ]<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontcolor</span> <span class="keyword">of</span> <span class="constructor">Graphviz</span>.color<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontname</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontsize</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Headlabel</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Headport</span> <span class="keyword">of</span> [ <span class="keywordsign">`</span><span class="constructor">E</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">N</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">NE</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">NW</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">S</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">SE</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">SW</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">W</span> ]<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Headurl</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Label</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Labelangle</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Labeldistance</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Labelfloat</span> <span class="keyword">of</span> bool<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Labelfontcolor</span> <span class="keyword">of</span> <span class="constructor">Graphviz</span>.color<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Labelfontname</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Labelfontsize</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Layer</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Minlen</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Samehead</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Sametail</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Style</span> <span class="keyword">of</span> [ <span class="keywordsign">`</span><span class="constructor">Bold</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Dashed</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Dotted</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Invis</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Solid</span> ]<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Taillabel</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Tailport</span> <span class="keyword">of</span> [ <span class="keywordsign">`</span><span class="constructor">E</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">N</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">NE</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">NW</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">S</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">SE</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">SW</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">W</span> ]<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Tailurl</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Weight</span> <span class="keyword">of</span> int ]<br> <span class="keyword">type</span> subgraph = {<br> sg_name : string;<br> sg_attributes : <span class="constructor">Graphviz</span>.<span class="constructor">DotAttributes</span>.vertex list;<br> }<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Dot</span> :<br> <span class="keyword">functor</span><br> (<span class="constructor">X</span> : <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">module</span> <span class="constructor">V</span> : <span class="keyword">sig</span> <span class="keyword">type</span> t <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">E</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> src : <span class="constructor">Graphviz</span>.<span class="constructor">Dot</span>.<span class="constructor">E</span>.t <span class="keywordsign">-></span> <span class="constructor">Graphviz</span>.<span class="constructor">Dot</span>.<span class="constructor">V</span>.t<br> <span class="keyword">val</span> dst : <span class="constructor">Graphviz</span>.<span class="constructor">Dot</span>.<span class="constructor">E</span>.t <span class="keywordsign">-></span> <span class="constructor">Graphviz</span>.<span class="constructor">Dot</span>.<span class="constructor">V</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">val</span> iter_vertex :<br> (<span class="constructor">Graphviz</span>.<span class="constructor">Dot</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Graphviz</span>.<span class="constructor">Dot</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> iter_edges_e :<br> (<span class="constructor">Graphviz</span>.<span class="constructor">Dot</span>.<span class="constructor">E</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Graphviz</span>.<span class="constructor">Dot</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> graph_attributes :<br> <span class="constructor">Graphviz</span>.<span class="constructor">Dot</span>.t <span class="keywordsign">-></span> <span class="constructor">Graphviz</span>.<span class="constructor">DotAttributes</span>.graph list<br> <span class="keyword">val</span> default_vertex_attributes :<br> <span class="constructor">Graphviz</span>.<span class="constructor">Dot</span>.t <span class="keywordsign">-></span> <span class="constructor">Graphviz</span>.<span class="constructor">DotAttributes</span>.vertex list<br> <span class="keyword">val</span> vertex_name : <span class="constructor">Graphviz</span>.<span class="constructor">Dot</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> vertex_attributes :<br> <span class="constructor">Graphviz</span>.<span class="constructor">Dot</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> <span class="constructor">Graphviz</span>.<span class="constructor">DotAttributes</span>.vertex list<br> <span class="keyword">val</span> get_subgraph :<br> <span class="constructor">Graphviz</span>.<span class="constructor">Dot</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> <span class="constructor">Graphviz</span>.<span class="constructor">DotAttributes</span>.subgraph option<br> <span class="keyword">val</span> default_edge_attributes :<br> <span class="constructor">Graphviz</span>.<span class="constructor">Dot</span>.t <span class="keywordsign">-></span> <span class="constructor">Graphviz</span>.<span class="constructor">DotAttributes</span>.edge list<br> <span class="keyword">val</span> edge_attributes :<br> <span class="constructor">Graphviz</span>.<span class="constructor">Dot</span>.<span class="constructor">E</span>.t <span class="keywordsign">-></span> <span class="constructor">Graphviz</span>.<span class="constructor">DotAttributes</span>.edge list<br> <span class="keyword">end</span>) <span class="keywordsign">-></span><br> <span class="keyword">sig</span><br> <span class="keyword">val</span> fprint_graph : <span class="constructor">Format</span>.formatter <span class="keywordsign">-></span> <span class="constructor">X</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> output_graph : <span class="constructor">Pervasives</span>.out_channel <span class="keywordsign">-></span> <span class="constructor">X</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">NeatoAttributes</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> graph =<br> [ <span class="keywordsign">`</span><span class="constructor">Center</span> <span class="keyword">of</span> bool<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontcolor</span> <span class="keyword">of</span> <span class="constructor">Graphviz</span>.color<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontname</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontsize</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Label</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Margin</span> <span class="keyword">of</span> float * float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">OrderingOut</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Orientation</span> <span class="keyword">of</span> [ <span class="keywordsign">`</span><span class="constructor">Landscape</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Portrait</span> ]<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Overlap</span> <span class="keyword">of</span> bool<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Page</span> <span class="keyword">of</span> float * float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Pagedir</span> <span class="keyword">of</span> [ <span class="keywordsign">`</span><span class="constructor">LeftToRight</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">TopToBottom</span> ]<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Sep</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Size</span> <span class="keyword">of</span> float * float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Spline</span> <span class="keyword">of</span> bool<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Start</span> <span class="keyword">of</span> int ]<br> <span class="keyword">type</span> vertex =<br> [ <span class="keywordsign">`</span><span class="constructor">Color</span> <span class="keyword">of</span> <span class="constructor">Graphviz</span>.color<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontcolor</span> <span class="keyword">of</span> <span class="constructor">Graphviz</span>.color<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontname</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontsize</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Height</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Label</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Orientation</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Peripheries</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Pos</span> <span class="keyword">of</span> float * float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Regular</span> <span class="keyword">of</span> bool<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Shape</span> <span class="keyword">of</span><br> [ <span class="keywordsign">`</span><span class="constructor">Box</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Circle</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Diamond</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Doublecircle</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Ellipse</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Plaintext</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Polygon</span> <span class="keyword">of</span> int * float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Record</span> ]<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Style</span> <span class="keyword">of</span><br> [ <span class="keywordsign">`</span><span class="constructor">Bold</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Dashed</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Dotted</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Filled</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Invis</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Solid</span> ]<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Width</span> <span class="keyword">of</span> float ]<br> <span class="keyword">type</span> edge =<br> [ <span class="keywordsign">`</span><span class="constructor">Color</span> <span class="keyword">of</span> <span class="constructor">Graphviz</span>.color<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Decorate</span> <span class="keyword">of</span> bool<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Dir</span> <span class="keyword">of</span> [ <span class="keywordsign">`</span><span class="constructor">Back</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Both</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Forward</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">None</span> ]<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontcolor</span> <span class="keyword">of</span> <span class="constructor">Graphviz</span>.color<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontname</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fontsize</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Id</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Label</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Labelfontcolor</span> <span class="keyword">of</span> <span class="constructor">Graphviz</span>.color<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Labelfontname</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Labelfontsize</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Len</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Style</span> <span class="keyword">of</span> [ <span class="keywordsign">`</span><span class="constructor">Bold</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Dashed</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Dotted</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Invis</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Solid</span> ]<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Weight</span> <span class="keyword">of</span> float ]<br> <span class="keyword">type</span> subgraph = {<br> sg_name : string;<br> sg_attributes : <span class="constructor">Graphviz</span>.<span class="constructor">NeatoAttributes</span>.vertex list;<br> }<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Neato</span> :<br> <span class="keyword">functor</span><br> (<span class="constructor">X</span> : <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">module</span> <span class="constructor">V</span> : <span class="keyword">sig</span> <span class="keyword">type</span> t <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">E</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> src : <span class="constructor">Graphviz</span>.<span class="constructor">Neato</span>.<span class="constructor">E</span>.t <span class="keywordsign">-></span> <span class="constructor">Graphviz</span>.<span class="constructor">Neato</span>.<span class="constructor">V</span>.t<br> <span class="keyword">val</span> dst : <span class="constructor">Graphviz</span>.<span class="constructor">Neato</span>.<span class="constructor">E</span>.t <span class="keywordsign">-></span> <span class="constructor">Graphviz</span>.<span class="constructor">Neato</span>.<span class="constructor">V</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">val</span> iter_vertex :<br> (<span class="constructor">Graphviz</span>.<span class="constructor">Neato</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Graphviz</span>.<span class="constructor">Neato</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> iter_edges_e :<br> (<span class="constructor">Graphviz</span>.<span class="constructor">Neato</span>.<span class="constructor">E</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Graphviz</span>.<span class="constructor">Neato</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> graph_attributes :<br> <span class="constructor">Graphviz</span>.<span class="constructor">Neato</span>.t <span class="keywordsign">-></span> <span class="constructor">Graphviz</span>.<span class="constructor">NeatoAttributes</span>.graph list<br> <span class="keyword">val</span> default_vertex_attributes :<br> <span class="constructor">Graphviz</span>.<span class="constructor">Neato</span>.t <span class="keywordsign">-></span> <span class="constructor">Graphviz</span>.<span class="constructor">NeatoAttributes</span>.vertex list<br> <span class="keyword">val</span> vertex_name : <span class="constructor">Graphviz</span>.<span class="constructor">Neato</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> vertex_attributes :<br> <span class="constructor">Graphviz</span>.<span class="constructor">Neato</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> <span class="constructor">Graphviz</span>.<span class="constructor">NeatoAttributes</span>.vertex list<br> <span class="keyword">val</span> get_subgraph :<br> <span class="constructor">Graphviz</span>.<span class="constructor">Neato</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> <span class="constructor">Graphviz</span>.<span class="constructor">NeatoAttributes</span>.subgraph option<br> <span class="keyword">val</span> default_edge_attributes :<br> <span class="constructor">Graphviz</span>.<span class="constructor">Neato</span>.t <span class="keywordsign">-></span> <span class="constructor">Graphviz</span>.<span class="constructor">NeatoAttributes</span>.edge list<br> <span class="keyword">val</span> edge_attributes :<br> <span class="constructor">Graphviz</span>.<span class="constructor">Neato</span>.<span class="constructor">E</span>.t <span class="keywordsign">-></span> <span class="constructor">Graphviz</span>.<span class="constructor">NeatoAttributes</span>.edge list<br> <span class="keyword">end</span>) <span class="keywordsign">-></span><br> <span class="keyword">sig</span><br> <span class="keyword">val</span> set_command : string <span class="keywordsign">-></span> unit<br> <span class="keyword">exception</span> <span class="constructor">Error</span> <span class="keyword">of</span> string<br> <span class="keyword">val</span> handle_error : (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b<br> <span class="keyword">val</span> fprint_graph : <span class="constructor">Format</span>.formatter <span class="keywordsign">-></span> <span class="constructor">X</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> output_graph : <span class="constructor">Pervasives</span>.out_channel <span class="keywordsign">-></span> <span class="constructor">X</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">end</span></code></body></html>