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.
|
|
|
|
<!DOCTYPE html>
|
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Match (infer.InferModules.Match)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc %%VERSION%%"/><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> » <a href="../index.html">InferModules</a> » Match</nav><h1>Module <code>InferModules.Match</code></h1></header><aside><p>Implementation of "Smart" Pattern Matching for higher order singly-linked list predicate.</p><p>Used for detecting on a given program if some data scructures are matching some predefined higher-order list predicates. When it is the case, these predicates can be used as possible candidates for abstracting the data-structures. See <a href="http://dx.doi.org/10.1007/978-3-540-73368-3_22">CAV 2007</a> for the therory involved.</p></aside><dl><dt class="spec value" id="val-hpara_match_with_impl"><a href="#val-hpara_match_with_impl" class="anchor"></a><code><span class="keyword">val</span> hpara_match_with_impl : <a href="../../../InferIR/InferIR/Tenv/index.html#type-t">InferIR.Tenv.t</a> <span>-></span> bool <span>-></span> <a href="../../../InferIR/InferIR/Sil/index.html#type-hpara">InferIR.Sil.hpara</a> <span>-></span> <a href="../../../InferIR/InferIR/Sil/index.html#type-hpara">InferIR.Sil.hpara</a> <span>-></span> bool</code></dt><dt class="spec value" id="val-hpara_dll_match_with_impl"><a href="#val-hpara_dll_match_with_impl" class="anchor"></a><code><span class="keyword">val</span> hpara_dll_match_with_impl : <a href="../../../InferIR/InferIR/Tenv/index.html#type-t">InferIR.Tenv.t</a> <span>-></span> bool <span>-></span> <a href="../../../InferIR/InferIR/Sil/index.html#type-hpara_dll">InferIR.Sil.hpara_dll</a> <span>-></span> <a href="../../../InferIR/InferIR/Sil/index.html#type-hpara_dll">InferIR.Sil.hpara_dll</a> <span>-></span> bool</code></dt></dl><dl><dt class="spec type" id="type-hpred_pat"><a href="#type-hpred_pat" class="anchor"></a><code><span class="keyword">type</span> hpred_pat</code><code> = </code><code>{</code><table class="record"><tr id="type-hpred_pat.hpred" class="anchored"><td class="def field"><a href="#type-hpred_pat.hpred" class="anchor"></a><code>hpred : <a href="../../../InferIR/InferIR/Sil/index.html#type-hpred">InferIR.Sil.hpred</a>;</code></td></tr><tr id="type-hpred_pat.flag" class="anchored"><td class="def field"><a href="#type-hpred_pat.flag" class="anchor"></a><code>flag : bool;</code></td></tr></table><code>}</code></dt><dd><p>Type for a hpred pattern. <code>flag=false</code> means that the implication between hpreds is not considered, and <code>flag = true</code> means that it is considered during pattern matching.</p></dd></dl><dl><dt class="spec type" id="type-sidecondition"><a href="#type-sidecondition" class="anchor"></a><code><span class="keyword">type</span> sidecondition</code><code> = <span><a href="../Prop/index.html#type-normal">Prop.normal</a> <a href="../Prop/index.html#type-t">Prop.t</a></span> <span>-></span> <a href="../../../InferIR/InferIR/Sil/index.html#type-subst">InferIR.Sil.subst</a> <span>-></span> bool</code></dt></dl><dl><dt class="spec value" id="val-prop_match_with_impl"><a href="#val-prop_match_with_impl" class="anchor"></a><code><span class="keyword">val</span> prop_match_with_impl : <a href="../../../InferIR/InferIR/Tenv/index.html#type-t">InferIR.Tenv.t</a> <span>-></span> <span><a href="../Prop/index.html#type-normal">Prop.normal</a> <a href="../Prop/index.html#type-t">Prop.t</a></span> <span>-></span> <a href="index.html#type-sidecondition">sidecondition</a> <span>-></span> <span><a href="../../../InferIR/InferIR/Ident/index.html#type-t">InferIR.Ident.t</a> list</span> <span>-></span> <a href="index.html#type-hpred_pat"
|