sig
  type token =
      TK_EOF
    | TK_VERTEX
    | TK_RAY
    | TK_LINE
    | TK_RAYMOD
    | TK_LINEMOD
    | TK_SUPEG
    | TK_INFEG
    | TK_SUP
    | TK_INF
    | TK_EG
    | TK_DISEG
    | TK_MOD
    | TK_POW of (Apron.Texpr1.typ * Apron.Texpr1.round)
    | TK_LBRACKET
    | TK_RBRACKET
    | TK_SEMICOLON
    | TK_LPAR
    | TK_RPAR
    | TK_MUL of (Apron.Texpr1.typ * Apron.Texpr1.round)
    | TK_ADD of (Apron.Texpr1.typ * Apron.Texpr1.round)
    | TK_SUB of (Apron.Texpr1.typ * Apron.Texpr1.round)
    | TK_DIV of (Apron.Texpr1.typ * Apron.Texpr1.round)
    | TK_MODULO of (Apron.Texpr1.typ * Apron.Texpr1.round)
    | TK_CAST of (Apron.Texpr1.typ * Apron.Texpr1.round)
    | TK_SQRT of (Apron.Texpr1.typ * Apron.Texpr1.round)
    | TK_MPQF of Mpqf.t
    | TK_FLOAT of float
    | TK_VAR of string
  val lincons :
    (Lexing.lexbuf -> Apron.Apron_parser.token) ->
    Lexing.lexbuf -> Apron.Lincons0.typ * (string * Apron.Coeff.t) list
  val generator :
    (Lexing.lexbuf -> Apron.Apron_parser.token) ->
    Lexing.lexbuf -> Apron.Generator0.typ * (string * Apron.Coeff.t) list
  val linexpr :
    (Lexing.lexbuf -> Apron.Apron_parser.token) ->
    Lexing.lexbuf -> (string * Apron.Coeff.t) list
  val tcons :
    (Lexing.lexbuf -> Apron.Apron_parser.token) ->
    Lexing.lexbuf -> Apron.Tcons0.typ * Apron.Texpr1.expr
  val texpr :
    (Lexing.lexbuf -> Apron.Apron_parser.token) ->
    Lexing.lexbuf -> Apron.Texpr1.expr
end