sig
  type token =
      ID of (string * Location.location)
    | LABEL of (string * Location.location)
    | INT of (int * Location.location)
    | EOF
    | KW_COMMA of Location.location
    | KW_SEMI of Location.location
    | KW_COL of Location.location
    | KW_QUOTE of Location.location
    | KW_EQ of Location.location
    | KW_LSQ of Location.location
    | KW_RSQ of Location.location
    | KW_LPAR of Location.location
    | KW_RPAR of Location.location
    | KW_LBR of Location.location
    | KW_RBR of Location.location
    | KW_LANG of Location.location
    | KW_RANG of Location.location
    | KW_UP of Location.location
    | KW_STAR of Location.location
    | KW_UNDER of Location.location
    | KW_PCENT of Location.location
    | KW_AT of Location.location
    | KW_TO of Location.location
    | KW_IMPLIES of Location.location
    | KW_NEQ of Location.location
    | KW_COMP of Location.location
    | KW_ASSIGN of Location.location
    | KW_ALIAS of Location.location
    | KW_ASSUME of Location.location
    | KW_AXIOM of Location.location
    | KW_BASETYPE of Location.location
    | KW_CASE of Location.location
    | KW_CLAIM of Location.location
    | KW_CONSTANT of Location.location
    | KW_EVERYBODY of Location.location
    | KW_FALSE of Location.location
    | KW_FRESH of Location.location
    | KW_HASH of Location.location
    | KW_HONEST of Location.location
    | KW_KEYPAIR of Location.location
    | KW_KNOWS of Location.location
    | KW_PARAMETER of Location.location
    | KW_PRINCIPAL of Location.location
    | KW_NUMBER of Location.location
    | KW_ASYM_ALGO of Location.location
    | KW_SYM_ALGO of Location.location
    | KW_SECRET of Location.location
    | KW_SESSION of Location.location
    | KW_SWITCH of Location.location
    | KW_VALUE of Location.location
  val spec :
    (Lexing.lexbuf -> Evaparse.token) -> Lexing.lexbuf -> Abstract.eva_spec
end