Module type CamlinternalMenhirLib.EngineTypes.TABLE

module type TABLE = sig .. end

type state;
let number: state => int;
type token;
type terminal;
type nonterminal;
type semantic_value;
let token2terminal: token => terminal;
let token2value: token => semantic_value;
let error_terminal: terminal;
let error_value: semantic_value;
let foreach_terminal: ((terminal, 'a) => 'a, 'a) => 'a;
type production;
let production_index: production => int;
let find_production: int => production;
let default_reduction:
  (state, ('env, production) => 'answer, 'env => 'answer, 'env) => 'answer;
let action:
  (
    state,
    terminal,
    semantic_value,
    ('env, bool, terminal, semantic_value, state) => 'answer,
    ('env, production) => 'answer,
    'env => 'answer,
    'env
  ) =>
  'answer;
let goto_nt: (state, nonterminal) => state;
let goto_prod: (state, production) => state;
let maybe_goto_nt: (state, nonterminal) => option(state);
let is_start: production => bool;
exception Error;
type semantic_action =
  CamlinternalMenhirLib.EngineTypes.env(state, semantic_value, token) =>
  CamlinternalMenhirLib.EngineTypes.stack(state, semantic_value);
let semantic_action: production => semantic_action;
let may_reduce: (state, production) => bool;
let log: bool;
module Log: sig .. end