1signature term_tokens =
2sig
3
4  datatype 'a term_token =
5    Ident of string
6  | Antiquote of 'a
7  | Numeral of (Arbnum.num * char option)
8  | Fraction of {wholepart : Arbnum.num, fracpart : Arbnum.num,
9                 places : int}
10  | QIdent of (string * string)
11
12  val lex : string list -> 'a qbuf.qbuf -> 'a term_token locn.located option
13      (* NONE indicates end of input; this function *always* advances over
14         what it pulls out of the qbuf.   *)
15
16  val user_split_ident : string list -> string -> (string * string)
17
18  val token_string : 'a term_token -> string
19  val dest_aq      : 'a term_token -> 'a
20  val is_ident     : 'a term_token -> bool
21  val is_aq        : 'a term_token -> bool
22
23  val nonagg_c     : char -> bool
24
25  val lextest : string list -> string -> 'a term_token list
26
27end
28