Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > 7a036e8af259cd957ff83cd3d8293b72 > files > 15

ocaml-textile-devel-0.10-2.mga4.x86_64.rpm

<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="Textile" rel="Chapter" href="Textile.html">
<link title="Textile_parser" rel="Chapter" href="Textile_parser.html">
<link title="Textile_html" rel="Chapter" href="Textile_html.html"><title>Textile</title>
</head>
<body>
<code class="code"><span class="comment">(*&nbsp;This&nbsp;file&nbsp;is&nbsp;part&nbsp;of&nbsp;textile-ocaml.<br>
&nbsp;*<br>
&nbsp;*&nbsp;textile-ocaml&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
&nbsp;*&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
&nbsp;*&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
&nbsp;*&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
&nbsp;*<br>
&nbsp;*&nbsp;textile-ocaml&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
&nbsp;*&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
&nbsp;*&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
&nbsp;*&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
&nbsp;*<br>
&nbsp;*&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
&nbsp;*&nbsp;along&nbsp;with&nbsp;textile-ocaml.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;http://www.gnu.org/licenses/&gt;.<br>
&nbsp;*<br>
&nbsp;*&nbsp;Copyright&nbsp;2011&nbsp;Alexander&nbsp;Markov&nbsp;*)</span><br>
<br>
<span class="keyword">open</span>&nbsp;<span class="constructor">Printf</span><br>
<br>
<span class="keyword">type</span>&nbsp;attr&nbsp;=<br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Class</span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">of</span>&nbsp;string&nbsp;<span class="comment">(*&nbsp;p(myclass).&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Id</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">of</span>&nbsp;string&nbsp;<span class="comment">(*&nbsp;p(#myid).&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Style</span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">of</span>&nbsp;string&nbsp;<span class="comment">(*&nbsp;p{color:red}.&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Language</span>&nbsp;<span class="keyword">of</span>&nbsp;string&nbsp;<span class="comment">(*&nbsp;p[fr-fr].&nbsp;*)</span><br>
<span class="keyword">type</span>&nbsp;img_float&nbsp;=<br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Float_left</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Float_right</span><br>
<span class="keyword">type</span>&nbsp;phrase&nbsp;=<br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">CData</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">of</span>&nbsp;string<br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Emphasis</span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">of</span>&nbsp;(attr&nbsp;list&nbsp;*&nbsp;phrase&nbsp;list)&nbsp;<span class="comment">(*&nbsp;_&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Strong</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">of</span>&nbsp;(attr&nbsp;list&nbsp;*&nbsp;phrase&nbsp;list)&nbsp;<span class="comment">(*&nbsp;*&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Italic</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">of</span>&nbsp;(attr&nbsp;list&nbsp;*&nbsp;phrase&nbsp;list)&nbsp;<span class="comment">(*&nbsp;__&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Bold</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">of</span>&nbsp;(attr&nbsp;list&nbsp;*&nbsp;phrase&nbsp;list)&nbsp;<span class="comment">(*&nbsp;**&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Citation</span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">of</span>&nbsp;(attr&nbsp;list&nbsp;*&nbsp;phrase&nbsp;list)&nbsp;<span class="comment">(*&nbsp;??&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Deleted</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">of</span>&nbsp;(attr&nbsp;list&nbsp;*&nbsp;phrase&nbsp;list)&nbsp;<span class="comment">(*&nbsp;-&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Inserted</span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">of</span>&nbsp;(attr&nbsp;list&nbsp;*&nbsp;phrase&nbsp;list)&nbsp;<span class="comment">(*&nbsp;+&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Superscript</span>&nbsp;<span class="keyword">of</span>&nbsp;(attr&nbsp;list&nbsp;*&nbsp;phrase&nbsp;list)&nbsp;<span class="comment">(*&nbsp;^&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Subscript</span>&nbsp;&nbsp;&nbsp;<span class="keyword">of</span>&nbsp;(attr&nbsp;list&nbsp;*&nbsp;phrase&nbsp;list)&nbsp;<span class="comment">(*&nbsp;~&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Span</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">of</span>&nbsp;(attr&nbsp;list&nbsp;*&nbsp;phrase&nbsp;list)&nbsp;<span class="comment">(*&nbsp;%&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Code</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">of</span>&nbsp;(attr&nbsp;list&nbsp;*&nbsp;string)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">(*&nbsp;@&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Notextile</span>&nbsp;&nbsp;&nbsp;<span class="keyword">of</span>&nbsp;string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">(*&nbsp;==&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Acronym</span>&nbsp;<span class="keyword">of</span>&nbsp;string&nbsp;*&nbsp;string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">(*&nbsp;ABC(Always&nbsp;Be&nbsp;Closing&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Image</span>&nbsp;<span class="keyword">of</span>&nbsp;attr&nbsp;list&nbsp;*&nbsp;img_float&nbsp;option<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;string&nbsp;*&nbsp;string&nbsp;option&nbsp;<span class="comment">(*&nbsp;!imgsrc(alt)!&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Link</span>&nbsp;<span class="keyword">of</span>&nbsp;(attr&nbsp;list&nbsp;*&nbsp;phrase&nbsp;list)&nbsp;*<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;option&nbsp;*&nbsp;string&nbsp;<span class="comment">(*&nbsp;"linktext(title)":url&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Reference</span>&nbsp;<span class="keyword">of</span>&nbsp;int&nbsp;<span class="comment">(*&nbsp;[1]&nbsp;*)</span><br>
<span class="keyword">type</span>&nbsp;line&nbsp;=<br>
&nbsp;&nbsp;phrase&nbsp;list<br>
<span class="keyword">type</span>&nbsp;talign&nbsp;=<br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Right</span>&nbsp;&nbsp;&nbsp;</code><table><tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td><span class="comment">(** &gt; *)</span></td></tr></table><code class="code"><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Left</span>&nbsp;&nbsp;&nbsp;&nbsp;</code><table><tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td><span class="comment">(** &lt; *)</span></td></tr></table><code class="code"><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Center</span>&nbsp;&nbsp;</code><table><tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td><span class="comment">(** = *)</span></td></tr></table><code class="code"><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Justify</span>&nbsp;</code><table><tr><td>&nbsp;&nbsp;&nbsp;&nbsp;</td><td><span class="comment">(** &lt;&gt; *)</span></td></tr></table><code class="code"><br>
<span class="keyword">type</span>&nbsp;valign&nbsp;=<br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Top</span>&nbsp;&nbsp;&nbsp;&nbsp;</code><table><tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td><span class="comment">(** ^ *)</span></td></tr></table><code class="code"><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Middle</span>&nbsp;</code><table><tr><td>&nbsp;&nbsp;&nbsp;&nbsp;</td><td><span class="comment">(** - *)</span></td></tr></table><code class="code"><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Bottom</span>&nbsp;</code><table><tr><td>&nbsp;&nbsp;&nbsp;&nbsp;</td><td><span class="comment">(** ~ *)</span></td></tr></table><code class="code"><br>
<span class="keyword">type</span>&nbsp;padding&nbsp;=<br>
&nbsp;&nbsp;int&nbsp;*&nbsp;int<br>
<span class="keyword">type</span>&nbsp;options&nbsp;=<br>
&nbsp;&nbsp;attr&nbsp;list&nbsp;*&nbsp;talign&nbsp;option&nbsp;*&nbsp;padding<br>
<span class="keyword">type</span>&nbsp;cellspan&nbsp;=<br>
&nbsp;&nbsp;int&nbsp;option&nbsp;*&nbsp;int&nbsp;option<br>
<span class="keyword">type</span>&nbsp;tableoptions&nbsp;=<br>
&nbsp;&nbsp;options&nbsp;*&nbsp;valign&nbsp;option<br>
<span class="keyword">type</span>&nbsp;celltype&nbsp;=<br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Data</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Head</span>&nbsp;<span class="comment">(*&nbsp;_&nbsp;*)</span><br>
<span class="keyword">type</span>&nbsp;celloptions&nbsp;=<br>
&nbsp;&nbsp;celltype&nbsp;*&nbsp;tableoptions&nbsp;*&nbsp;cellspan<br>
<span class="keyword">type</span>&nbsp;cell&nbsp;=<br>
&nbsp;&nbsp;celloptions&nbsp;*&nbsp;line&nbsp;list<br>
<span class="keyword">type</span>&nbsp;row&nbsp;=<br>
&nbsp;&nbsp;tableoptions&nbsp;*&nbsp;cell&nbsp;list<br>
<span class="keyword">type</span>&nbsp;element&nbsp;=<br>
&nbsp;&nbsp;int&nbsp;*&nbsp;line<br>
<span class="keyword">type</span>&nbsp;block&nbsp;=<br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Header</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">of</span>&nbsp;int&nbsp;*&nbsp;(options&nbsp;*&nbsp;line&nbsp;list)&nbsp;<span class="comment">(*&nbsp;h1.&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Blockquote</span>&nbsp;<span class="keyword">of</span>&nbsp;(options&nbsp;*&nbsp;line&nbsp;list)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">(*&nbsp;bq.&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Footnote</span>&nbsp;&nbsp;&nbsp;<span class="keyword">of</span>&nbsp;int&nbsp;*&nbsp;(options&nbsp;*&nbsp;line&nbsp;list)&nbsp;<span class="comment">(*&nbsp;fnn.&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Paragraph</span>&nbsp;&nbsp;<span class="keyword">of</span>&nbsp;(options&nbsp;*&nbsp;line&nbsp;list)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">(*&nbsp;p.&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Blockcode</span>&nbsp;&nbsp;<span class="keyword">of</span>&nbsp;(options&nbsp;*&nbsp;string&nbsp;list)&nbsp;&nbsp;&nbsp;<span class="comment">(*&nbsp;bc.&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Pre</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">of</span>&nbsp;(options&nbsp;*&nbsp;string&nbsp;list)&nbsp;&nbsp;&nbsp;<span class="comment">(*&nbsp;pre.&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Blocknott</span>&nbsp;&nbsp;<span class="keyword">of</span>&nbsp;(options&nbsp;*&nbsp;string&nbsp;list)&nbsp;&nbsp;&nbsp;<span class="comment">(*&nbsp;notextile.&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Numlist</span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">of</span>&nbsp;element&nbsp;list&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">(*&nbsp;#&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Bulllist</span>&nbsp;&nbsp;&nbsp;<span class="keyword">of</span>&nbsp;element&nbsp;list&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">(*&nbsp;*&nbsp;*)</span><br>
&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Table</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">of</span>&nbsp;(tableoptions&nbsp;*&nbsp;row&nbsp;list)&nbsp;<span class="comment">(*&nbsp;|t|a|b|&nbsp;*)</span><br>
<br>
<br>
<span class="keyword">let</span>&nbsp;<span class="keyword">rec</span>&nbsp;string_of_line&nbsp;line&nbsp;=<br>
&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;buf&nbsp;=&nbsp;<span class="constructor">Buffer</span>.create&nbsp;512&nbsp;<span class="keyword">in</span><br>
&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;add&nbsp;=&nbsp;<span class="constructor">Buffer</span>.add_string&nbsp;buf&nbsp;<span class="keyword">in</span><br>
&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;<span class="keyword">rec</span>&nbsp;loop&nbsp;=&nbsp;<span class="keyword">function</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;h::t&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;(<span class="keyword">match</span>&nbsp;h&nbsp;<span class="keyword">with</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">CData</span>&nbsp;s&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;add&nbsp;s<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Emphasis</span>&nbsp;&nbsp;&nbsp;&nbsp;(_,&nbsp;l)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Strong</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_,&nbsp;l)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Italic</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_,&nbsp;l)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Bold</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_,&nbsp;l)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Citation</span>&nbsp;&nbsp;&nbsp;&nbsp;(_,&nbsp;l)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Deleted</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_,&nbsp;l)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Inserted</span>&nbsp;&nbsp;&nbsp;&nbsp;(_,&nbsp;l)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Superscript</span>&nbsp;(_,&nbsp;l)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Subscript</span>&nbsp;&nbsp;&nbsp;(_,&nbsp;l)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Span</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_,&nbsp;l)&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;(string_of_line&nbsp;l)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Acronym</span>&nbsp;(s,&nbsp;_)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Code</span>&nbsp;&nbsp;&nbsp;&nbsp;(_,&nbsp;s)&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;s<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Notextile</span>&nbsp;s&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="comment">(*&nbsp;TODO:&nbsp;whoops,&nbsp;what&nbsp;we&nbsp;have&nbsp;to&nbsp;do?&nbsp;*)</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;s<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Image</span>&nbsp;_&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Link</span>&nbsp;((_,&nbsp;l),&nbsp;_,&nbsp;_)&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;(string_of_line&nbsp;l)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Reference</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Printf</span>.bprintf&nbsp;buf&nbsp;<span class="string">"[%d]"</span>&nbsp;i);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loop&nbsp;t<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;[]&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Buffer</span>.contents&nbsp;buf&nbsp;<span class="keyword">in</span><br>
&nbsp;&nbsp;loop&nbsp;line<br>
</code></body></html>