sig
  type token =
      IDENT of string
    | PKGNAME of string
    | QSTRING of string
    | RELOP of string
    | POSINT of string
    | NEGINT of string
    | LBRACKET
    | RBRACKET
    | LPAREN
    | RPAREN
    | COMMA
    | PIPE
    | COLON
    | EQ
    | VPKGTRUE
    | VPKGFALSE
    | EOL
  val int_top :
    (Stdlib.Lexing.lexbuf -> Cudf_type_parser.token) ->
    Stdlib.Lexing.lexbuf -> int
  val ident_top :
    (Stdlib.Lexing.lexbuf -> Cudf_type_parser.token) ->
    Stdlib.Lexing.lexbuf -> string
  val qstring_top :
    (Stdlib.Lexing.lexbuf -> Cudf_type_parser.token) ->
    Stdlib.Lexing.lexbuf -> string
  val pkgname_top :
    (Stdlib.Lexing.lexbuf -> Cudf_type_parser.token) ->
    Stdlib.Lexing.lexbuf -> Cudf_types.pkgname
  val vpkg_top :
    (Stdlib.Lexing.lexbuf -> Cudf_type_parser.token) ->
    Stdlib.Lexing.lexbuf -> Cudf_types.vpkg
  val vpkglist_top :
    (Stdlib.Lexing.lexbuf -> Cudf_type_parser.token) ->
    Stdlib.Lexing.lexbuf -> Cudf_types.vpkglist
  val vpkgformula_top :
    (Stdlib.Lexing.lexbuf -> Cudf_type_parser.token) ->
    Stdlib.Lexing.lexbuf -> Cudf_types.vpkgformula
  val typedecl_top :
    (Stdlib.Lexing.lexbuf -> Cudf_type_parser.token) ->
    Stdlib.Lexing.lexbuf -> Cudf_types.typedecl
  val type_top :
    (Stdlib.Lexing.lexbuf -> Cudf_type_parser.token) ->
    Stdlib.Lexing.lexbuf -> Cudf_types.typ
end