17abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao(*===----------------------------------------------------------------------===
27abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao * Lexer Tokens
37abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao *===----------------------------------------------------------------------===*)
47abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao
57abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao(* The lexer returns these 'Kwd' if it is an unknown character, otherwise one of
67abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao * these others for known things. *)
77abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liaotype token =
87abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao  (* commands *)
97abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao  | Def | Extern
107abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao
117abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao  (* primary *)
127abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao  | Ident of string | Number of float
137abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao
147abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao  (* unknown *)
157abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao  | Kwd of char
167abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao
177abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao  (* control *)
187abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao  | If | Then | Else
197abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao  | For | In
207abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao
217abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao  (* operators *)
227abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao  | Binary | Unary
23