<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>ToplAst (infer.TOPLlib.ToplAst)</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> » <a href="../index.html">TOPLlib</a> » ToplAst</nav><h1>Module <code>TOPLlib.ToplAst</code></h1></header><dl><dt class="spec type" id="type-property_name"><a href="#type-property_name" class="anchor"></a><code><span class="keyword">type</span> property_name</code><code> = string</code></dt></dl><div><div class="spec include"><div class="doc"><dl><dt class="spec value" id="val-compare_property_name"><a href="#val-compare_property_name" class="anchor"></a><code><span class="keyword">val</span> compare_property_name : <a href="index.html#type-property_name">property_name</a> <span>-></span> <a href="index.html#type-property_name">property_name</a> <span>-></span> int</code></dt><dt class="spec value" id="val-hash_fold_property_name"><a href="#val-hash_fold_property_name" class="anchor"></a><code><span class="keyword">val</span> hash_fold_property_name : Ppx_hash_lib.Std.Hash.state <span>-></span> <a href="index.html#type-property_name">property_name</a> <span>-></span> Ppx_hash_lib.Std.Hash.state</code></dt><dt class="spec value" id="val-hash_property_name"><a href="#val-hash_property_name" class="anchor"></a><code><span class="keyword">val</span> hash_property_name : <a href="index.html#type-property_name">property_name</a> <span>-></span> Ppx_hash_lib.Std.Hash.hash_value</code></dt><dt class="spec value" id="val-property_name_of_sexp"><a href="#val-property_name_of_sexp" class="anchor"></a><code><span class="keyword">val</span> property_name_of_sexp : Ppx_sexp_conv_lib.Sexp.t <span>-></span> <a href="index.html#type-property_name">property_name</a></code></dt><dt class="spec value" id="val-sexp_of_property_name"><a href="#val-sexp_of_property_name" class="anchor"></a><code><span class="keyword">val</span> sexp_of_property_name : <a href="index.html#type-property_name">property_name</a> <span>-></span> Ppx_sexp_conv_lib.Sexp.t</code></dt></dl></div></div></div><dl><dt class="spec type" id="type-register_name"><a href="#type-register_name" class="anchor"></a><code><span class="keyword">type</span> register_name</code><code> = string</code></dt><dt class="spec type" id="type-variable_name"><a href="#type-variable_name" class="anchor"></a><code><span class="keyword">type</span> variable_name</code><code> = string</code></dt><dt class="spec type" id="type-constant"><a href="#type-constant" class="anchor"></a><code><span class="keyword">type</span> constant</code><code> = <a href="../../IR/Exp/index.html#type-t">IR.Exp.t</a></code></dt><dt class="spec type" id="type-value"><a href="#type-value" class="anchor"></a><code><span class="keyword">type</span> value</code><code> = </code><table class="variant"><tr id="type-value.Constant" class="anchored"><td class="def constructor"><a href="#type-value.Constant" class="anchor"></a><code>| </code><code><span class="constructor">Constant</span> <span class="keyword">of</span> <a href="index.html#type-constant">constant</a></code></td></tr><tr id="type-value.Register" class="anchored"><td class="def constructor"><a href="#type-value.Register" class="anchor"></a><code>| </code><code><span class="constructor">Register</span> <span class="keyword">of</span> <a href="index.html#type-register_name">register_name</a></code></td></tr><tr id="type-value.Binding" class="anchored"><td class="def constructor"><a href="#type-value.Binding" class="anchor"></a><code>| </code><code><span class="constructor">Binding</span> <span class="keyword">of</span> <a href="index.html#type-variable_name">variable_name</a></code></td></tr></table></dt><dt class="spec type" id="type-binop"><a href="#type-binop" class="anchor"></a><code><span class="keyword">type</span> binop</code><code> = </code><table class="variant"><tr id="type-binop.OpEq" class="anchored"><td class="def constructor"><a href="#type-binop.OpEq" class="anchor"></a><code>| </code><code><span class="constructor">OpEq</span></code></td></tr><tr id="type-binop.OpNe" class="anchored"><td class="def constructor"><a href="#type-binop.OpNe" class="anchor"></a><code>| </code><code><span class="constructor">OpNe</span></code></td></tr><tr id="type-binop.OpGe" class="anchored"><td class="def constructor"><a href="#type-binop.OpGe" class="anchor"></a><code>| </code><code><span class="constructor">OpGe</span></code></td></tr><tr id="type-binop.OpGt" class="anchored"><td class="def constructor"><a href="#type-binop.OpGt" class="anchor"></a><code>| </code><code><span class="constructor">OpGt</span></code></td></tr><tr id="type-binop.OpLe" class="anchored"><td class="def constructor"><a href="#type-binop.OpLe" class="anchor"></a><code>| </code><code><span class="constructor">OpLe</span></code></td></tr><tr id="type-binop.OpLt" class="anchored"><td class="def constructor"><a href="#type-binop.OpLt" class="anchor"></a><code>| </code><code><span class="constructor">OpLt</span></code></td></tr></table></dt><dt class="spec type" id="type-predicate"><a href="#type-predicate" class="anchor"></a><code><span class="keyword">type</span> predicate</code><code> = </code><table class="variant"><tr id="type-predicate.Binop" class="anchored"><td class="def constructor"><a href="#type-predicate.Binop" class="anchor"></a><code>| </code><code><span class="constructor">Binop</span> <span class="keyword">of</span> <a href="index.html#type-binop">binop</a> * <a href="index.html#type-value">value</a> * <a href="index.html#type-value">value</a></code></td></tr><tr id="type-predicate.Value" class="anchored"><td class="def constructor"><a href="#type-predicate.Value" class="anchor"></a><code>| </code><code><span class="constructor">Value</span> <span class="keyword">of</span> <a href="index.html#type-value">value</a></code></td></tr></table></dt><dt class="spec type" id="type-condition"><a href="#type-condition" class="anchor"></a><code><span class="keyword">type</span> condition</code><code> = <span><a href="index.html#type-predicate">predicate</a> list</span></code></dt><dt class="spec type" id="type-assignment"><a href="#type-assignment" class="anchor"></a><code><span class="keyword">type</span> assignment</code><code> = <a href="index.html#type-register_name">register_name</a> * <a href="index.html#type-variable_name">variable_name</a></code></dt><dt class="spec type" id="type-procedure_name_pattern"><a href="#type-procedure_name_pattern" class="anchor"></a><code><span class="keyword">type</span> procedure_name_pattern</code><code> = string</code></dt><dd><p>a regular expression</p></dd></dl><dl><dt class="spec type" id="type-label"><a href="#type-label" class="anchor"></a><code><span class="keyword">type</span> label</code><code> = </code><code>{</code><table class="record"><tr id="type-label.arguments" class="anchored"><td class="def field"><a href="#type-label.arguments" class="anchor"></a><code>arguments : <span><span><a href="index.html#type-variable_name">variable_name</a> list</span> option</span>;</code></td></tr><tr id="type-label.condition" class="anchored"><td class="def field"><a href="#type-label.condition" class="anchor"></a><code>condition : <a href="index.html#type-condition">condition</a>;</code></td></tr><tr id="type-label.action" class="anchored"><td class="def field"><a href="#type-label.action" class="anchor"></a><code>action : <span><a href="index.html#type-assignment">assignment</a> list</span>;</code></td></tr><tr id="type-label.procedure_name" class="anchored"><td class="def field"><a href="#type-label.procedure_name" class="anchor"></a><code>procedure_name : <a href="index.html#type-procedure_name_pattern">procedure_name_pattern</a>;</code></td></tr></table><code>}</code></dt><dt class="spec type" id="type-vertex"><a href="#type-vertex" class="anchor"></a><code><span class="keyword">type</span> vertex</code><code> = string</code></dt></dl><div><div class="spec include"><div class="doc"><dl><dt class="spec value" id="val-compare_vertex"><a href="#val-compare_vertex" class="anchor"></a><code><span class="keyword">val</span> compare_vertex : <a href="index.html#type-vertex">vertex</a> <span>-></span> <a href="index.html#type-vertex">vertex</a> <span>-></span> int</code></dt><dt class="spec value" id="val-hash_fold_vertex"><a href="#val-hash_fold_vertex" class="anchor"></a><code><span class="keyword">val</span> hash_fold_vertex : Ppx_hash_lib.Std.Hash.state <span>-></span> <a href="index.html#type-vertex">vertex</a> <span>-></span> Ppx_hash_lib.Std.Hash.state</code></dt><dt class="spec value" id="val-hash_vertex"><a href="#val-hash_vertex" class="anchor"></a><code><span class="keyword">val</span> hash_vertex : <a href="index.html#type-vertex">vertex</a> <span>-></span> Ppx_hash_lib.Std.Hash.hash_value</code></dt><dt class="spec value" id="val-vertex_of_sexp"><a href="#val-vertex_of_sexp" class="anchor"></a><code><span class="keyword">val</span> vertex_of_sexp : Ppx_sexp_conv_lib.Sexp.t <span>-></span> <a href="index.html#type-vertex">vertex</a></code></dt><dt class="spec value" id="val-sexp_of_vertex"><a href="#val-sexp_of_vertex" class="anchor"></a><code><span class="keyword">val</span> sexp_of_vertex : <a href="index.html#type-vertex">vertex</a> <span>-></span> Ppx_sexp_conv_lib.Sexp.t</code></dt></dl></div></div></div><dl><dt class="spec type" id="type-transition"><a href="#type-transition" class="anchor"></a><code><span class="keyword">type</span> transition</code><code> = </code><code>{</code><table class="record"><tr id="type-transition.source" class="anchored"><td class="def field"><a href="#type-transition.source" class="anchor"></a><code>source : <a href="index.html#type-vertex">vertex</a>;</code></td></tr><tr id="type-transition.target" class="anchored"><td class="def field"><a href="#type-transition.target" class="anchor"></a><code>target : <a href="index.html#type-vertex">vertex</a>;</code></td></tr><tr id="type-transition.label" class="anchored"><td class="def field"><a href="#type-transition.label" class="anchor"></a><code>label : <span><a href="index.html#type-label">label</a> option</span>;</code></td></tr></table><code>}</code></dt><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code><code> = </code><code>{</code><table class="record"><tr id="type-t.name" class="anchored"><td class="def field"><a href="#type-t.name" class="anchor"></a><code>name : <a href="index.html#type-property_name">property_name</a>;</code></td></tr><tr id="type-t.message" class="anchored"><td class="def field"><a href="#type-t.message" class="anchor"></a><code>message : <span>string option</span>;</code></td></tr><tr id="type-t.prefixes" class="anchored"><td class="def field"><a href="#type-t.prefixes" class="anchor"></a><code>prefixes : <span>string list</span>;</code></td></tr><tr id="type-t.nondet" class="anchored"><td class="def field"><a href="#type-t.nondet" class="anchor"></a><code>nondet : <span>string list</span>;</code></td></tr><tr id="type-t.transitions" class="anchored"><td class="def field"><a href="#type-t.transitions" class="anchor"></a><code>transitions : <span><a href="index.html#type-transition">transition</a> list</span>;</code></td></tr></table><code>}</code></dt></dl></div></body></html>