mirror of
https://github.com/c-cube/moonpool.git
synced 2025-12-17 08:06:43 -05:00
40 lines
No EOL
24 KiB
HTML
40 lines
No EOL
24 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Make (ocaml.CamlinternalMenhirLib.Engine.Make)</title><link rel="stylesheet" href="../../../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> – <a href="../../../index.html">ocaml</a> » <a href="../../index.html">CamlinternalMenhirLib</a> » <a href="../index.html">Engine</a> » Make</nav><header class="odoc-preamble"><h1>Module <code><span>Engine.Make</span></code></h1></header><nav class="odoc-toc"><ul><li><a href="#parameters">Parameters</a></li><li><a href="#signature">Signature</a></li></ul></nav><div class="odoc-content"><h2 id="parameters"><a href="#parameters" class="anchor"></a>Parameters</h2><div class="odoc-spec"><div class="spec parameter anchored" id="argument-1-T"><a href="#argument-1-T" class="anchor"></a><code><span><span class="keyword">module</span> </span><span><a href="argument-1-T/index.html">T</a></span><span> : <a href="../../EngineTypes/module-type-TABLE/index.html">EngineTypes.TABLE</a></span></code></div></div><h2 id="signature"><a href="#signature" class="anchor"></a>Signature</h2><div class="odoc-include"><details open="open"><summary class="spec include"><code><span><span class="keyword">include</span> <a href="../../EngineTypes/module-type-MONOLITHIC_ENGINE/index.html">EngineTypes.MONOLITHIC_ENGINE</a>
|
||
<span class="keyword">with</span> <span><span class="keyword">type</span> <a href="../../EngineTypes/module-type-MONOLITHIC_ENGINE/index.html#type-state">state</a> = <a href="argument-1-T/index.html#type-state">T.state</a></span>
|
||
<span class="keyword">with</span> <span><span class="keyword">type</span> <a href="../../EngineTypes/module-type-MONOLITHIC_ENGINE/index.html#type-token">token</a> = <a href="argument-1-T/index.html#type-token">T.token</a></span>
|
||
<span class="keyword">with</span> <span><span class="keyword">type</span> <a href="../../EngineTypes/module-type-MONOLITHIC_ENGINE/index.html#type-semantic_value">semantic_value</a> = <a href="argument-1-T/index.html#type-semantic_value">T.semantic_value</a></span></span></code></summary><div class="odoc-spec"><div class="spec type anchored" id="type-state"><a href="#type-state" class="anchor"></a><code><span><span class="keyword">type</span> state</span><span> = <a href="argument-1-T/index.html#type-state">T.state</a></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-token"><a href="#type-token" class="anchor"></a><code><span><span class="keyword">type</span> token</span><span> = <a href="argument-1-T/index.html#type-token">T.token</a></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-semantic_value"><a href="#type-semantic_value" class="anchor"></a><code><span><span class="keyword">type</span> semantic_value</span><span> = <a href="argument-1-T/index.html#type-semantic_value">T.semantic_value</a></span></code></div></div><div class="odoc-spec"><div class="spec exception anchored" id="exception-Error"><a href="#exception-Error" class="anchor"></a><code><span><span class="keyword">exception</span> </span><span><span class="exception">Error</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-entry"><a href="#val-entry" class="anchor"></a><code><span><span class="keyword">val</span> entry :
|
||
<span><span>[ `Legacy <span>| `Simplified</span> ]</span> <span class="arrow">-></span></span>
|
||
<span><a href="#type-state">state</a> <span class="arrow">-></span></span>
|
||
<span><span>(<span><a href="../../../Stdlib/Lexing/index.html#type-lexbuf">Stdlib.Lexing.lexbuf</a> <span class="arrow">-></span></span> <a href="#type-token">token</a>)</span> <span class="arrow">-></span></span>
|
||
<span><a href="../../../Stdlib/Lexing/index.html#type-lexbuf">Stdlib.Lexing.lexbuf</a> <span class="arrow">-></span></span>
|
||
<a href="#type-semantic_value">semantic_value</a></span></code></div></div></details></div><div class="odoc-include"><details open="open"><summary class="spec include"><code><span><span class="keyword">include</span> <a href="../../IncrementalEngine/module-type-INCREMENTAL_ENGINE/index.html">IncrementalEngine.INCREMENTAL_ENGINE</a>
|
||
<span class="keyword">with</span> <span><span class="keyword">type</span> <a href="../../IncrementalEngine/module-type-INCREMENTAL_ENGINE/index.html#type-token">token</a> := <a href="#type-token">token</a></span>
|
||
<span class="keyword">and</span> <span><span class="keyword">type</span> <span>'a <a href="../../IncrementalEngine/module-type-INCREMENTAL_ENGINE/index.html#type-lr1state">lr1state</a></span> = <a href="#type-state">state</a></span>
|
||
<span class="keyword">with</span> <span><span class="keyword">type</span> <a href="../../IncrementalEngine/module-type-INCREMENTAL_ENGINE/index.html#type-production">production</a> = <a href="argument-1-T/index.html#type-production">T.production</a></span>
|
||
<span class="keyword">with</span> <span><span class="keyword">type</span> <span>'a <a href="../../IncrementalEngine/module-type-INCREMENTAL_ENGINE/index.html#type-env">env</a></span> = <span><span>(<a href="argument-1-T/index.html#type-state">T.state</a>, <a href="argument-1-T/index.html#type-semantic_value">T.semantic_value</a>, <a href="argument-1-T/index.html#type-token">T.token</a>)</span> <a href="../../EngineTypes/index.html#type-env">EngineTypes.env</a></span></span></span></code></summary><div class="odoc-spec"><div class="spec type anchored" id="type-production"><a href="#type-production" class="anchor"></a><code><span><span class="keyword">type</span> production</span><span> = <a href="argument-1-T/index.html#type-production">T.production</a></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-env"><a href="#type-env" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a env</span></span><span> = <span><span>(<a href="argument-1-T/index.html#type-state">T.state</a>, <a href="argument-1-T/index.html#type-semantic_value">T.semantic_value</a>, <a href="argument-1-T/index.html#type-token">T.token</a>)</span> <a href="../../EngineTypes/index.html#type-env">EngineTypes.env</a></span></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-checkpoint"><a href="#type-checkpoint" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a checkpoint</span></span><span> = <span class="keyword">private</span> </span></code><ol><li id="type-checkpoint.InputNeeded" class="def variant constructor anchored"><a href="#type-checkpoint.InputNeeded" class="anchor"></a><code><span>| </span><span><span class="constructor">InputNeeded</span> <span class="keyword">of</span> <span><span class="type-var">'a</span> <a href="#type-env">env</a></span></span></code></li><li id="type-checkpoint.Shifting" class="def variant constructor anchored"><a href="#type-checkpoint.Shifting" class="anchor"></a><code><span>| </span><span><span class="constructor">Shifting</span> <span class="keyword">of</span> <span><span class="type-var">'a</span> <a href="#type-env">env</a></span> * <span><span class="type-var">'a</span> <a href="#type-env">env</a></span> * bool</span></code></li><li id="type-checkpoint.AboutToReduce" class="def variant constructor anchored"><a href="#type-checkpoint.AboutToReduce" class="anchor"></a><code><span>| </span><span><span class="constructor">AboutToReduce</span> <span class="keyword">of</span> <span><span class="type-var">'a</span> <a href="#type-env">env</a></span> * <a href="#type-production">production</a></span></code></li><li id="type-checkpoint.HandlingError" class="def variant constructor anchored"><a href="#type-checkpoint.HandlingError" class="anchor"></a><code><span>| </span><span><span class="constructor">HandlingError</span> <span class="keyword">of</span> <span><span class="type-var">'a</span> <a href="#type-env">env</a></span></span></code></li><li id="type-checkpoint.Accepted" class="def variant constructor anchored"><a href="#type-checkpoint.Accepted" class="anchor"></a><code><span>| </span><span><span class="constructor">Accepted</span> <span class="keyword">of</span> <span class="type-var">'a</span></span></code></li><li id="type-checkpoint.Rejected" class="def variant constructor anchored"><a href="#type-checkpoint.Rejected" class="anchor"></a><code><span>| </span><span><span class="constructor">Rejected</span></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-offer"><a href="#val-offer" class="anchor"></a><code><span><span class="keyword">val</span> offer :
|
||
<span><span><span class="type-var">'a</span> <a href="#type-checkpoint">checkpoint</a></span> <span class="arrow">-></span></span>
|
||
<span><span>(<a href="#type-token">token</a> * <a href="../../IncrementalEngine/index.html#type-position">IncrementalEngine.position</a> * <a href="../../IncrementalEngine/index.html#type-position">IncrementalEngine.position</a>)</span> <span class="arrow">-></span></span>
|
||
<span><span class="type-var">'a</span> <a href="#type-checkpoint">checkpoint</a></span></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-strategy"><a href="#type-strategy" class="anchor"></a><code><span><span class="keyword">type</span> strategy</span><span> = </span><span>[ </span></code><ol><li id="type-strategy.Legacy" class="def constructor anchored"><a href="#type-strategy.Legacy" class="anchor"></a><code><span>| </span></code><code><span>`Legacy</span></code></li><li id="type-strategy.Simplified" class="def constructor anchored"><a href="#type-strategy.Simplified" class="anchor"></a><code><span>| </span></code><code><span>`Simplified</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-resume"><a href="#val-resume" class="anchor"></a><code><span><span class="keyword">val</span> resume : <span>?strategy:<a href="#type-strategy">strategy</a> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> <a href="#type-checkpoint">checkpoint</a></span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <a href="#type-checkpoint">checkpoint</a></span></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-supplier"><a href="#type-supplier" class="anchor"></a><code><span><span class="keyword">type</span> supplier</span><span> =
|
||
<span>unit <span class="arrow">-></span></span>
|
||
<a href="#type-token">token</a> * <a href="../../IncrementalEngine/index.html#type-position">IncrementalEngine.position</a> * <a href="../../IncrementalEngine/index.html#type-position">IncrementalEngine.position</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-lexer_lexbuf_to_supplier"><a href="#val-lexer_lexbuf_to_supplier" class="anchor"></a><code><span><span class="keyword">val</span> lexer_lexbuf_to_supplier :
|
||
<span><span>(<span><a href="../../../Stdlib/Lexing/index.html#type-lexbuf">Stdlib.Lexing.lexbuf</a> <span class="arrow">-></span></span> <a href="#type-token">token</a>)</span> <span class="arrow">-></span></span>
|
||
<span><a href="../../../Stdlib/Lexing/index.html#type-lexbuf">Stdlib.Lexing.lexbuf</a> <span class="arrow">-></span></span>
|
||
<a href="#type-supplier">supplier</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-loop"><a href="#val-loop" class="anchor"></a><code><span><span class="keyword">val</span> loop : <span>?strategy:<a href="#type-strategy">strategy</a> <span class="arrow">-></span></span> <span><a href="#type-supplier">supplier</a> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> <a href="#type-checkpoint">checkpoint</a></span> <span class="arrow">-></span></span> <span class="type-var">'a</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-loop_handle"><a href="#val-loop_handle" class="anchor"></a><code><span><span class="keyword">val</span> loop_handle :
|
||
<span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span class="type-var">'answer</span>)</span> <span class="arrow">-></span></span>
|
||
<span><span>(<span><span><span class="type-var">'a</span> <a href="#type-checkpoint">checkpoint</a></span> <span class="arrow">-></span></span> <span class="type-var">'answer</span>)</span> <span class="arrow">-></span></span>
|
||
<span><a href="#type-supplier">supplier</a> <span class="arrow">-></span></span>
|
||
<span><span><span class="type-var">'a</span> <a href="#type-checkpoint">checkpoint</a></span> <span class="arrow">-></span></span>
|
||
<span class="type-var">'answer</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-loop_handle_undo"><a href="#val-loop_handle_undo" class="anchor"></a><code><span><span class="keyword">val</span> loop_handle_undo :
|
||
<span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span class="type-var">'answer</span>)</span> <span class="arrow">-></span></span>
|
||
<span><span>(<span><span><span class="type-var">'a</span> <a href="#type-checkpoint">checkpoint</a></span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> <a href="#type-checkpoint">checkpoint</a></span> <span class="arrow">-></span></span> <span class="type-var">'answer</span>)</span> <span class="arrow">-></span></span>
|
||
<span><a href="#type-supplier">supplier</a> <span class="arrow">-></span></span>
|
||
<span><span><span class="type-var">'a</span> <a href="#type-checkpoint">checkpoint</a></span> <span class="arrow">-></span></span>
|
||
<span class="type-var">'answer</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-shifts"><a href="#val-shifts" class="anchor"></a><code><span><span class="keyword">val</span> shifts : <span><span><span class="type-var">'a</span> <a href="#type-checkpoint">checkpoint</a></span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> <a href="#type-env">env</a></span> option</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-acceptable"><a href="#val-acceptable" class="anchor"></a><code><span><span class="keyword">val</span> acceptable : <span><span><span class="type-var">'a</span> <a href="#type-checkpoint">checkpoint</a></span> <span class="arrow">-></span></span> <span><a href="#type-token">token</a> <span class="arrow">-></span></span> <span><a href="../../IncrementalEngine/index.html#type-position">IncrementalEngine.position</a> <span class="arrow">-></span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-lr1state"><a href="#type-lr1state" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a lr1state</span></span><span> = <a href="#type-state">state</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-number"><a href="#val-number" class="anchor"></a><code><span><span class="keyword">val</span> number : <span><span><span class="type-var">_</span> <a href="#type-lr1state">lr1state</a></span> <span class="arrow">-></span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-production_index"><a href="#val-production_index" class="anchor"></a><code><span><span class="keyword">val</span> production_index : <span><a href="#type-production">production</a> <span class="arrow">-></span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-find_production"><a href="#val-find_production" class="anchor"></a><code><span><span class="keyword">val</span> find_production : <span>int <span class="arrow">-></span></span> <a href="#type-production">production</a></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-element"><a href="#type-element" class="anchor"></a><code><span><span class="keyword">type</span> element</span><span> = </span></code><ol><li id="type-element.Element" class="def variant constructor anchored"><a href="#type-element.Element" class="anchor"></a><code><span>| </span><span><span class="constructor">Element</span> : <span><span class="type-var">'a</span> <a href="#type-lr1state">lr1state</a></span>
|
||
* <span class="type-var">'a</span>
|
||
* <a href="../../IncrementalEngine/index.html#type-position">IncrementalEngine.position</a>
|
||
* <a href="../../IncrementalEngine/index.html#type-position">IncrementalEngine.position</a> <span class="arrow">-></span> <a href="#type-element">element</a></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-stack"><a href="#type-stack" class="anchor"></a><code><span><span class="keyword">type</span> stack</span><span> = <span><a href="#type-element">element</a> <a href="../../General/index.html#type-stream">General.stream</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-stack"><a href="#val-stack" class="anchor"></a><code><span><span class="keyword">val</span> stack : <span><span><span class="type-var">'a</span> <a href="#type-env">env</a></span> <span class="arrow">-></span></span> <a href="#type-stack">stack</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-top"><a href="#val-top" class="anchor"></a><code><span><span class="keyword">val</span> top : <span><span><span class="type-var">'a</span> <a href="#type-env">env</a></span> <span class="arrow">-></span></span> <span><a href="#type-element">element</a> option</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pop_many"><a href="#val-pop_many" class="anchor"></a><code><span><span class="keyword">val</span> pop_many : <span>int <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> <a href="#type-env">env</a></span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> <a href="#type-env">env</a></span> option</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get"><a href="#val-get" class="anchor"></a><code><span><span class="keyword">val</span> get : <span>int <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> <a href="#type-env">env</a></span> <span class="arrow">-></span></span> <span><a href="#type-element">element</a> option</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-current_state_number"><a href="#val-current_state_number" class="anchor"></a><code><span><span class="keyword">val</span> current_state_number : <span><span><span class="type-var">'a</span> <a href="#type-env">env</a></span> <span class="arrow">-></span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span><span class="keyword">val</span> equal : <span><span><span class="type-var">'a</span> <a href="#type-env">env</a></span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> <a href="#type-env">env</a></span> <span class="arrow">-></span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-positions"><a href="#val-positions" class="anchor"></a><code><span><span class="keyword">val</span> positions :
|
||
<span><span><span class="type-var">'a</span> <a href="#type-env">env</a></span> <span class="arrow">-></span></span>
|
||
<a href="../../IncrementalEngine/index.html#type-position">IncrementalEngine.position</a> * <a href="../../IncrementalEngine/index.html#type-position">IncrementalEngine.position</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-env_has_default_reduction"><a href="#val-env_has_default_reduction" class="anchor"></a><code><span><span class="keyword">val</span> env_has_default_reduction : <span><span><span class="type-var">'a</span> <a href="#type-env">env</a></span> <span class="arrow">-></span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-state_has_default_reduction"><a href="#val-state_has_default_reduction" class="anchor"></a><code><span><span class="keyword">val</span> state_has_default_reduction : <span><span><span class="type-var">_</span> <a href="#type-lr1state">lr1state</a></span> <span class="arrow">-></span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pop"><a href="#val-pop" class="anchor"></a><code><span><span class="keyword">val</span> pop : <span><span><span class="type-var">'a</span> <a href="#type-env">env</a></span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> <a href="#type-env">env</a></span> option</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-force_reduction"><a href="#val-force_reduction" class="anchor"></a><code><span><span class="keyword">val</span> force_reduction : <span><a href="#type-production">production</a> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> <a href="#type-env">env</a></span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <a href="#type-env">env</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-input_needed"><a href="#val-input_needed" class="anchor"></a><code><span><span class="keyword">val</span> input_needed : <span><span><span class="type-var">'a</span> <a href="#type-env">env</a></span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <a href="#type-checkpoint">checkpoint</a></span></span></code></div></div></details></div><div class="odoc-include"><details open="open"><summary class="spec include"><code><span><span class="keyword">include</span> <a href="../../EngineTypes/module-type-INCREMENTAL_ENGINE_START/index.html">EngineTypes.INCREMENTAL_ENGINE_START</a>
|
||
<span class="keyword">with</span> <span><span class="keyword">type</span> <a href="../../EngineTypes/module-type-INCREMENTAL_ENGINE_START/index.html#type-state">state</a> := <a href="#type-state">state</a></span>
|
||
<span class="keyword">and</span> <span><span class="keyword">type</span> <a href="../../EngineTypes/module-type-INCREMENTAL_ENGINE_START/index.html#type-semantic_value">semantic_value</a> := <a href="#type-semantic_value">semantic_value</a></span>
|
||
<span class="keyword">and</span> <span><span class="keyword">type</span> <span>'a <a href="../../EngineTypes/module-type-INCREMENTAL_ENGINE_START/index.html#type-checkpoint">checkpoint</a></span> := <span><span class="type-var">'a</span> <a href="#type-checkpoint">checkpoint</a></span></span></span></code></summary><div class="odoc-spec"><div class="spec value anchored" id="val-start"><a href="#val-start" class="anchor"></a><code><span><span class="keyword">val</span> start : <span><a href="#type-state">state</a> <span class="arrow">-></span></span> <span><a href="../../../Stdlib/Lexing/index.html#type-position">Stdlib.Lexing.position</a> <span class="arrow">-></span></span> <span><a href="#type-semantic_value">semantic_value</a> <a href="#type-checkpoint">checkpoint</a></span></span></code></div></div></details></div></div></body></html> |