`functor (T : TableFormat.TABLES) ->
sig
type state = int
val number : state -> int
type token = T.token
type terminal = int
type nonterminal = int
type semantic_value = Obj.t
val token2terminal : token -> terminal
val token2value : token -> semantic_value
val error_terminal : terminal
val error_value : semantic_value
val foreach_terminal : (terminal -> 'a -> 'a) -> 'a -> 'a
type production = int
val production_index : production -> int
val find_production : int -> production
val default_reduction :
state ->
('env -> production -> 'answer) -> ('env -> 'answer) -> 'env -> 'answer
val action :
state ->
terminal ->
semantic_value ->
('env -> bool -> terminal -> semantic_value -> state -> 'answer) ->
('env -> production -> 'answer) -> ('env -> 'answer) -> 'env -> 'answer
val goto_nt : state -> nonterminal -> state
val goto_prod : state -> production -> state
val maybe_goto_nt : state -> nonterminal -> state option
val is_start : production -> bool
exception Error
type semantic_action =
(state, semantic_value, token) EngineTypes.env ->
(state, semantic_value) EngineTypes.stack
val semantic_action : production -> semantic_action
val may_reduce : state -> production -> bool
val log : bool
module Log :
sig
val state : state -> unit
val shift : terminal -> state -> unit
val reduce_or_accept : production -> unit
val lookahead_token :
terminal -> Lexing.position -> Lexing.position -> unit
val initiating_error_handling : unit -> unit
val resuming_error_handling : unit -> unit
val handling_error : state -> unit
end
end`