Module NumTok

type t = {
int : string;

[0-9][0-9_]*

frac : string;

empty or [0-9_]+

exp : string;

empty or [eE][+-]?[0-9][0-9_]*

}
val equal : t -> t -> bool
val int : string -> t

int s amounts to \{ int = s; frac = ""; exp = "" \}

val to_string : t -> string
val of_string : string -> t option
val parse : char Stdlib.Stream.t -> t

Precondition: the first char on the stream is a digit ([0-9]). Precondition: at least two extra chars after the numeral to parse.