1(*===----------------------------------------------------------------------===
2 * Lexer Tokens
3 *===----------------------------------------------------------------------===*)
4
5(* The lexer returns these 'Kwd' if it is an unknown character, otherwise one of
6 * these others for known things. *)
7type token =
8  (* commands *)
9  | Def | Extern
10
11  (* primary *)
12  | Ident of string | Number of float
13
14  (* unknown *)
15  | Kwd of char
16
17  (* control *)
18  | If | Then | Else
19  | For | In
20
21  (* operators *)
22  | Binary | Unary
23
24  (* var definition *)
25  | Var
26