You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 lines
15 KiB

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>IR__Sil (infer.IR__Sil)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">infer</a> &#x00BB; IR__Sil</nav><h1>Module <code>IR__Sil</code></h1><p>The Smallfoot Intermediate Language</p><nav class="toc"><ul><li><a href="#programs-and-types">Programs and Types</a></li></ul></nav></header><div class="spec module" id="module-F"><a href="#module-F" class="anchor"></a><code><span class="keyword">module</span> F = Stdlib.Format</code></div><section><header><h3 id="programs-and-types"><a href="#programs-and-types" class="anchor"></a>Programs and Types</h3></header><dl><dt class="spec type" id="type-if_kind"><a href="#type-if_kind" class="anchor"></a><code><span class="keyword">type</span> if_kind</code><code> = </code><table class="variant"><tr id="type-if_kind.Ik_bexp" class="anchored"><td class="def constructor"><a href="#type-if_kind.Ik_bexp" class="anchor"></a><code>| </code><code><span class="constructor">Ik_bexp</span></code></td><td class="doc"><p>boolean expressions, and exp ? exp : exp</p></td></tr><tr id="type-if_kind.Ik_dowhile" class="anchored"><td class="def constructor"><a href="#type-if_kind.Ik_dowhile" class="anchor"></a><code>| </code><code><span class="constructor">Ik_dowhile</span></code></td></tr><tr id="type-if_kind.Ik_for" class="anchored"><td class="def constructor"><a href="#type-if_kind.Ik_for" class="anchor"></a><code>| </code><code><span class="constructor">Ik_for</span></code></td></tr><tr id="type-if_kind.Ik_if" class="anchored"><td class="def constructor"><a href="#type-if_kind.Ik_if" class="anchor"></a><code>| </code><code><span class="constructor">Ik_if</span></code></td></tr><tr id="type-if_kind.Ik_land_lor" class="anchored"><td class="def constructor"><a href="#type-if_kind.Ik_land_lor" class="anchor"></a><code>| </code><code><span class="constructor">Ik_land_lor</span></code></td><td class="doc"><p>obtained from translation of &amp;&amp; or ||</p></td></tr><tr id="type-if_kind.Ik_while" class="anchored"><td class="def constructor"><a href="#type-if_kind.Ik_while" class="anchor"></a><code>| </code><code><span class="constructor">Ik_while</span></code></td></tr><tr id="type-if_kind.Ik_switch" class="anchored"><td class="def constructor"><a href="#type-if_kind.Ik_switch" class="anchor"></a><code>| </code><code><span class="constructor">Ik_switch</span></code></td></tr></table></dt><dd><p>Kind of prune instruction</p></dd></dl><div><div class="spec include"><div class="doc"><dl><dt class="spec value" id="val-compare_if_kind"><a href="#val-compare_if_kind" class="anchor"></a><code><span class="keyword">val</span> compare_if_kind : <a href="index.html#type-if_kind">if_kind</a> <span>&#45;&gt;</span> <a href="index.html#type-if_kind">if_kind</a> <span>&#45;&gt;</span> int</code></dt><dt class="spec value" id="val-equal_if_kind"><a href="#val-equal_if_kind" class="anchor"></a><code><span class="keyword">val</span> equal_if_kind : <a href="index.html#type-if_kind">if_kind</a> <span>&#45;&gt;</span> <a href="index.html#type-if_kind">if_kind</a> <span>&#45;&gt;</span> bool</code></dt></dl></div></div></div><dl><dt class="spec type" id="type-instr_metadata"><a href="#type-instr_metadata" class="anchor"></a><code><span class="keyword">type</span> instr_metadata</code><code> = </code><table class="variant"><tr id="type-instr_metadata.Abstract" class="anchored"><td class="def constructor"><a href="#type-instr_metadata.Abstract" class="anchor"></a><code>| </code><code><span class="constructor">Abstract</span> <span class="keyword">of</span> <a href="../IBase/Location/index.html#type-t">IBase.Location.t</a></code></td><td class="doc"><p>a good place to apply abstraction, mostly used in the biabduction analysis</p></td></t