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.
8 lines
20 KiB
8 lines
20 KiB
5 years ago
|
<!DOCTYPE html>
|
||
|
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CTL (infer.InferModules.CTL)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><meta name="generator" content="doc-ock-html v1.0.0-1-g1fc9bf0"/></head><body><nav id="top"><a href="../index.html">Up</a> — <span class="package">package <a href="../../index.html">infer</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">InferModules.CTL</span></h1></header><div class="spec type" id="type-transitions"><a href="#type-transitions" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>transitions</code><code></code><code><span class="keyword"> = </span></code><table class="variant"><tr id="type-transitions.AccessorForProperty" class="anchored"><td class="def constructor"><a href="#type-transitions.AccessorForProperty" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">AccessorForProperty</span><span class="keyword"> of </span><a href="../ALVar/index.html#type-alexp">ALVar.alexp</a></code></td><td class="doc"><p>(** decl to decl *)</p></td></tr><tr id="type-transitions.Body" class="anchored"><td class="def constructor"><a href="#type-transitions.Body" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Body</span></code></td><td class="doc"><p>(** decl to stmt *)</p></td></tr><tr id="type-transitions.FieldName" class="anchored"><td class="def constructor"><a href="#type-transitions.FieldName" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">FieldName</span><span class="keyword"> of </span><a href="../ALVar/index.html#type-alexp">ALVar.alexp</a></code></td><td class="doc"><p>(** stmt to stmt, decl to decl *)</p></td></tr><tr id="type-transitions.Fields" class="anchored"><td class="def constructor"><a href="#type-transitions.Fields" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Fields</span></code></td><td class="doc"><p>(** stmt to stmt, decl to decl *)</p></td></tr><tr id="type-transitions.InitExpr" class="anchored"><td class="def constructor"><a href="#type-transitions.InitExpr" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">InitExpr</span></code></td><td class="doc"><p>(** decl to stmt *)</p></td></tr><tr id="type-transitions.Super" class="anchored"><td class="def constructor"><a href="#type-transitions.Super" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Super</span></code></td><td class="doc"><p>(** decl to decl *)</p></td></tr><tr id="type-transitions.ParameterName" class="anchored"><td class="def constructor"><a href="#type-transitions.ParameterName" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">ParameterName</span><span class="keyword"> of </span><a href="../ALVar/index.html#type-alexp">ALVar.alexp</a></code></td><td class="doc"><p>(** stmt to stmt, decl to decl *)</p></td></tr><tr id="type-transitions.ParameterPos" class="anchored"><td class="def constructor"><a href="#type-transitions.ParameterPos" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">ParameterPos</span><span class="keyword"> of </span><a href="../ALVar/index.html#type-alexp">ALVar.alexp</a></code></td><td class="doc"><p>(** stmt to stmt, decl to decl *)</p></td></tr><tr id="type-transitions.Parameters" class="anchored"><td class="def constructor"><a href="#type-transitions.Parameters" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Parameters</span></code></td><td class="doc"><p>(** stmt to stmt, decl to decl *)</p></td></tr><tr id="type-transitions.Cond" class="anchored"><td class="def constructor"><a href="#type-transitions.Cond" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="construct
|
||
|
there exists a path (of descendants) from the current node where phi hold at each node of the path *)</p></td></tr><tr id="type-t.AU" class="anchored"><td class="def constructor"><a href="#type-t.AU" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">AU</span><span class="keyword"> of </span><a href="index.html#type-transitions">transitions</a> option<span class="keyword"> * </span><a href="index.html#type-t">t</a><span class="keyword"> * </span><a href="index.html#type-t">t</a></code></td><td class="doc"><p>(** AU(phi1, phi2) <=>
|
||
|
for all paths from the current node phi1 holds in every node until ph2 holds *)</p></td></tr><tr id="type-t.EU" class="anchored"><td class="def constructor"><a href="#type-t.EU" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">EU</span><span class="keyword"> of </span><a href="index.html#type-transitions">transitions</a> option<span class="keyword"> * </span><a href="index.html#type-t">t</a><span class="keyword"> * </span><a href="index.html#type-t">t</a></code></td><td class="doc"><p>(** EU(phi1, phi2) <=>
|
||
|
there exists a path from the current node such that phi1 holds until phi2 holds *)</p></td></tr><tr id="type-t.EH" class="anchored"><td class="def constructor"><a href="#type-t.EH" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">EH</span><span class="keyword"> of </span><a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> list<span class="keyword"> * </span><a href="index.html#type-t">t</a></code></td><td class="doc"><p>(** EH<code class="code">classes</code>phi <=>
|
||
|
there exists a node defining a super class in the hierarchy of the class
|
||
|
defined by the current node (if any) where phi holds *)</p></td></tr><tr id="type-t.ET" class="anchored"><td class="def constructor"><a href="#type-t.ET" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">ET</span><span class="keyword"> of </span><a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> list<span class="keyword"> * </span><a href="index.html#type-transitions">transitions</a> option<span class="keyword"> * </span><a href="index.html#type-t">t</a></code></td><td class="doc"><p>(** ET<code class="code">T</code><code class="code">l</code> phi <=> there exists a descentant an of the current node such that an is of type in set T
|
||
|
making a transition to a node an' via label l, such that in an phi holds. *)</p></td></tr></table><code></code></div><div class="doc"><p>A ctl formula</p></div></div><div class="spec include"><div class="doc"></div><details open="open"><summary><span class="def"><code><span class="keyword">include </span><span class="keyword">sig</span> ... <span class="keyword">end</span></code></span></summary><div class="spec val" id="val-compare"><a href="#val-compare" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"></div></div></details></div><div class="spec val" id="val-equal"><a href="#val-equal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec type" id="type-clause"><a href="#type-clause" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>clause</code><code></code><code><span class="keyword"> = </span></code><table class="variant"><tr id="type-clause.CLet" class="anchored"><td class="def constructor"><a href="#type-clause.CLet" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">CLet</span><span class="keyword"> of </span><a href="../ALVar/index.html#type-formula_id">ALVar.formula_id</a><span class="keyword"> * </span><a href="../ALVar/index.html#type-t">ALVar.t</a> list<span class="keyword"> * </span><a href="index.html#type-t">t</a></code></td></tr><tr id="type-clause.CSet" class="anchored"><td class="def constructor"><a href="#type-clause.CSet" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">CSet</span><span class="keyword"> of </span><a href="../ALVar/index.html#type-keyword">ALVar.keyword</a><span class="keyword"> * </span><a href="index.html#type-t">t</a></code></td></tr><tr id="type-clause.CDesc" class="anchored"><td class="def constructor"><a href="#type-clause.CDesc" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">CDesc</span><span class="keyword"> of </span><a href="../ALVar/index.html#type-keyword">ALVar.keyword</a><span class="keyword"> * </span>string</code></td></tr><tr id="type-clause.CPath" class="anchored"><td class="def constructor"><a href="#type-clause.CPath" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">CPath</span><span class="keyword"> of </span>[ `WhitelistPath | `BlacklistPath ]<span class="keyword"> * </span><a href="../ALVar/index.html#type-t">ALVar.t</a> list</code></td></tr></table><code></code></div><div class="doc"></div></div><div class="spec type" id="type-ctl_checker"><a href="#type-ctl_checker" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>ctl_checker</code><code></code><code><span class="keyword"> = </span></code><code>{</code><table class="record"><tr id="type-ctl_checker.id" class="anchored"><td class="def field"><a href="#type-ctl_checker.id" class="anchor"></a><code>id : string;</code></td></tr><tr id="type-ctl_checker.definitions" class="anchored"><td class="def field"><a href="#type-ctl_checker.definitions" class="anchor"></a><code>definitions : <a href="index.html#type-clause">clause</a> list;</code></td></tr></table><code>}</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-al_file"><a href="#type-al_file" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>al_file</code><code></code><code><span class="keyword"> = </span></code><code>{</code><table class="record"><tr id="type-al_file.import_files" class="anchored"><td class="def field"><a href="#type-al_file.import_files" class="anchor"></a><code>import_files
|