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