open Camlp4.Sig type token = | KWD of string | CHAR of char | EOI exception Error of int * int * string module Loc : Loc with type t = int * int module Token : Token with module Loc = Loc and type t = token module Error : Error val mk : unit -> (Loc.t -> char Stream.t -> (Token.t * Loc.t) Stream.t)