CamlinternalMenhirLib.EngineTypes.TABLE(3) OCaml library CamlinternalMenhirLib.EngineTypes.TABLE(3)

# [NAME](#NAME)

CamlinternalMenhirLib.EngineTypes.TABLE - no description

# [Module type](#Module_type)

Module type CamlinternalMenhirLib.EngineTypes.TABLE

# [Documentation](#Documentation)

Module type **TABLE**  
\= **sig end**

*type state*

*val number* : **state -&gt; int**

*type token*

*type terminal*

*type nonterminal*

*type semantic\_value*

*val token2terminal* : **token -&gt;** **terminal**

*val token2value* : **token -&gt;** **semantic\_value**

*val error\_terminal* : **terminal**

*val error\_value* : **semantic\_value**

*val foreach\_terminal* : **(terminal -&gt; 'a -&gt; 'a) -&gt; 'a -&gt; 'a**

*type production*

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

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

*val default\_reduction* : **state -&gt;** **('env -&gt; production -&gt; 'answer) -&gt;** **('env -&gt; 'answer) -&gt; 'env -&gt; 'answer**

*val action* : **state -&gt;** **terminal -&gt;** **semantic\_value -&gt;** **('env -&gt;** **bool -&gt;** **terminal -&gt;** **semantic\_value -&gt;** **state -&gt; 'answer) -&gt;** **('env -&gt; production -&gt; 'answer) -&gt;** **('env -&gt; 'answer) -&gt; 'env -&gt; 'answer**

*val maybe\_shift\_t* : **state -&gt;** **terminal -&gt;** **state option**

**maybe\_shift\_t s t** determines whether there exists a transition out of the state **s** , labeled with the terminal symbol **t** , to some state **s'** . If so, it returns **Some s'** . Otherwise, it returns **None** .

*val may\_reduce\_prod* : **state -&gt;** **terminal -&gt;** **production -&gt; bool**

**may\_reduce\_prod s t prod** determines whether in the state **s** , with lookahead symbol **t** , the automaton reduces production **prod** . This test accounts for the possible existence of a default reduction.

*val goto\_nt* : **state -&gt;** **nonterminal -&gt;** **state**

*val goto\_prod* : **state -&gt;** **production -&gt;** **state**

*val maybe\_goto\_nt* : **state -&gt;** **nonterminal -&gt;** **state option**

*val lhs* : **production -&gt;** **nonterminal**

*val is\_start* : **production -&gt; bool**

*exception Error*

*type semantic\_action* = **(state,** **semantic\_value,** **token)** **CamlinternalMenhirLib.EngineTypes.env -&gt;** **(state,** **semantic\_value)** **CamlinternalMenhirLib.EngineTypes.stack**

*val semantic\_action* : **production -&gt;** **semantic\_action**

*val may\_reduce* : **state -&gt;** **production -&gt; bool**

*val log* : **bool**

*module Log :* **sig end**

2026-10-23 OCamldoc

---

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