sig
  type token =
      XOR
    | WILDCARD
    | VAL
    | UPPER_WORD of string
    | RIGHT_PAREN
    | RIGHT_BRACKET
    | RIGHT_BRACE
    | RIGHT_ARROW
    | PIPE
    | OR
    | OPERATOR of string
    | NOT
    | NEQ
    | LOWER_WORD of string
    | LEFT_PAREN
    | LEFT_BRACKET
    | LEFT_BRACE
    | LEFT_ARROW
    | LAMBDA
    | INTERROGATION_WORD of string
    | INTEGER of string
    | IMPLY
    | FORALL_TY
    | FORALL
    | EXISTS
    | EQUIV
    | EQ
    | EOI
    | DOT
    | DOLLAR_WORD of string
    | DOLLAR_DOLLAR_WORD of string
    | COMMA
    | COLUMN
    | AND
  exception Error
  val parse_term :
    (Lexing.lexbuf -> Parse_ho.token) ->
    Lexing.lexbuf -> Libzipperposition.STerm.t
  val parse_decls :
    (Lexing.lexbuf -> Parse_ho.token) -> Lexing.lexbuf -> Ast_ho.t list
  val parse_decl :
    (Lexing.lexbuf -> Parse_ho.token) -> Lexing.lexbuf -> Ast_ho.t
end