sig
  exception Lex_error
  val lex_eol : Lexing.lexbuf -> unit
  val parse_lexbuf :
    lexer:(Lexing.lexbuf -> 'token) ->
    parser:((Lexing.lexbuf -> 'token) -> Lexing.lexbuf -> 'ast) ->
    Lexing.lexbuf -> 'ast
  val parse_string :
    lexer:(Lexing.lexbuf -> 'token) ->
    parser:((Lexing.lexbuf -> 'token) -> Lexing.lexbuf -> 'ast) ->
    string -> 'ast
  val parse_file :
    lexer:(Lexing.lexbuf -> 'token) ->
    parser:((Lexing.lexbuf -> 'token) -> Lexing.lexbuf -> 'ast) ->
    string -> 'ast
end