CamlinternalMenhirLib.IncrementalEngine.INCREMENTAL\_ENGINE(3) OCaml library CamlinternalMenhirLib.IncrementalEngine.INCREMENTAL\_ENGINE(3)

# [NAME](#NAME)

CamlinternalMenhirLib.IncrementalEngine.INCREMENTAL\_ENGINE - no description

# [Module type](#Module_type)

Module type CamlinternalMenhirLib.IncrementalEngine.INCREMENTAL\_ENGINE

# [Documentation](#Documentation)

Module type **INCREMENTAL\_ENGINE**  
\= **sig end**

*type token*

*type production*

*type* **'a** *env*

*type* **'a** *checkpoint* = private  
| InputNeeded **of** **'a env**  
| Shifting **of** **'a env** *** 'a env \*** **bool**  
| AboutToReduce **of** **'a env** *** production**  
| HandlingError **of** **'a env**  
| Accepted **of** **'a**  
| Rejected

*val offer* : **'a checkpoint -&gt;** **token \*** **CamlinternalMenhirLib.IncrementalEngine.position \*** **CamlinternalMenhirLib.IncrementalEngine.position -&gt;** **'a checkpoint**

*type strategy* = **\[ \`Legacy | \`Simplified ]**

*val resume* : **?strategy:strategy -&gt;** **'a checkpoint -&gt;** **'a checkpoint**

*type supplier* = **unit -&gt;** **token \*** **CamlinternalMenhirLib.IncrementalEngine.position \*** **CamlinternalMenhirLib.IncrementalEngine.position**

*val lexer\_lexbuf\_to\_supplier* : **(Lexing.lexbuf -&gt;** **token) -&gt;** **Lexing.lexbuf -&gt;** **supplier**

*val loop* : **?strategy:strategy -&gt;** **supplier -&gt;** **'a checkpoint -&gt;** **'a**

*val loop\_handle* : **('a -&gt; 'answer) -&gt;** **('a checkpoint -&gt;** **'answer) -&gt;** **supplier -&gt;** **'a checkpoint -&gt;** **'answer**

*val loop\_handle\_undo* : **('a -&gt; 'answer) -&gt;** **('a checkpoint -&gt;** **'a checkpoint -&gt;** **'answer) -&gt;** **supplier -&gt;** **'a checkpoint -&gt;** **'answer**

*val shifts* : **'a checkpoint -&gt;** **'a env option**

*val acceptable* : **'a checkpoint -&gt;** **token -&gt;** **CamlinternalMenhirLib.IncrementalEngine.position -&gt; bool**

*type* **'a** *lr1state*

*val number* : **'a lr1state -&gt; int**

*val production\_index* : **production -&gt; int**

*val find\_production* : **int -&gt; production**

*type element* =  
| Element **:** **'a lr1state * 'a** *** CamlinternalMenhirLib.IncrementalEngine.position** *** CamlinternalMenhirLib.IncrementalEngine.position** **-&gt;** **element**

*type stack* = **element** **CamlinternalMenhirLib.General.stream**

*val stack* : **'a env -&gt;** **stack**

*val top* : **'a env -&gt;** **element option**

*val pop\_many* : **int -&gt;** **'a env -&gt;** **'a env option**

*val get* : **int -&gt;** **'a env -&gt;** **element option**

*val current\_state\_number* : **'a env -&gt; int**

*val equal* : **'a env -&gt;** **'a env -&gt; bool**

*val positions* : **'a env -&gt;** **CamlinternalMenhirLib.IncrementalEngine.position \*** **CamlinternalMenhirLib.IncrementalEngine.position**

*val env\_has\_default\_reduction* : **'a env -&gt; bool**

*val state\_has\_default\_reduction* : **'a lr1state -&gt;** **bool**

*val pop* : **'a env -&gt;** **'a env option**

*val force\_reduction* : **production -&gt;** **'a env -&gt;** **'a env**

*val input\_needed* : **'a env -&gt;** **'a checkpoint**

2026-10-23 OCamldoc

---

Document: CamlinternalMenhirLib.IncrementalEngine.INCREMENTAL_ENGINE(3o) from ocaml 5.5.2-r0 (Chainguard OS)
Source: https://github.com/ocaml/ocaml
