---
name: "CamlinternalMenhirLib.IncrementalEngine.INCREMENTAL_ENGINE"
section: "3o"
platform: "linux"
package: "ocaml"
version: "5.5.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/CamlinternalMenhirLib.IncrementalEngine.INCREMENTAL_ENGINE"
---

# CamlinternalMenhirLib.IncrementalEngine.INCREMENTAL\_ENGINE(3o)

no description

## NAME

CamlinternalMenhirLib.IncrementalEngine.INCREMENTAL\_ENGINE - no description

## Module type

Module type   CamlinternalMenhirLib.IncrementalEngine.INCREMENTAL\_ENGINE

## 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 -\>** **token \*** **CamlinternalMenhirLib.IncrementalEngine.position \*** **CamlinternalMenhirLib.IncrementalEngine.position -\>** **'a checkpoint**

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

*val resume* :  **?strategy:strategy -\>** **'a checkpoint -\>** **'a checkpoint**

*type supplier* =  **unit -\>** **token \*** **CamlinternalMenhirLib.IncrementalEngine.position \*** **CamlinternalMenhirLib.IncrementalEngine.position**

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

*val loop* :  **?strategy:strategy -\>** **supplier -\>** **'a checkpoint -\>** **'a**

*val loop\_handle* :  **('a -\> 'answer) -\>** **('a checkpoint -\>** **'answer) -\>** **supplier -\>** **'a checkpoint -\>** **'answer**

*val loop\_handle\_undo* :  **('a -\> 'answer) -\>** **('a checkpoint -\>** **'a checkpoint -\>** **'answer) -\>** **supplier -\>** **'a checkpoint -\>** **'answer**

*val shifts* :  **'a checkpoint -\>** **'a env option**

*val acceptable* :  **'a checkpoint -\>** **token -\>** **CamlinternalMenhirLib.IncrementalEngine.position -\> bool**

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

*val number* :  **'a lr1state -\> int**

*val production\_index* :  **production -\> int**

*val find\_production* :  **int -\> production**

*type element* =\
  \| Element **:** **'a lr1state \* 'a** **\* CamlinternalMenhirLib.IncrementalEngine.position** **\* CamlinternalMenhirLib.IncrementalEngine.position** **-\>** **element**

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

*val stack* :  **'a env -\>** **stack**

*val top* :  **'a env -\>** **element option**

*val pop\_many* :  **int -\>** **'a env -\>** **'a env option**

*val get* :  **int -\>** **'a env -\>** **element option**

*val current\_state\_number* :  **'a env -\> int**

*val equal* :  **'a env -\>** **'a env -\> bool**

*val positions* :  **'a env -\>** **CamlinternalMenhirLib.IncrementalEngine.position \*** **CamlinternalMenhirLib.IncrementalEngine.position**

*val env\_has\_default\_reduction* :  **'a env -\> bool**

*val state\_has\_default\_reduction* :  **'a lr1state -\>** **bool**

*val pop* :  **'a env -\>** **'a env option**

*val force\_reduction* :  **production -\>** **'a env -\>** **'a env**

*val input\_needed* :  **'a env -\>** **'a checkpoint**
