xref: /aosp_15_r20/external/llvm/examples/OCaml-Kaleidoscope/Chapter7/token.ml (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker(*===----------------------------------------------------------------------===
2*9880d681SAndroid Build Coastguard Worker * Lexer Tokens
3*9880d681SAndroid Build Coastguard Worker *===----------------------------------------------------------------------===*)
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker(* The lexer returns these 'Kwd' if it is an unknown character, otherwise one of
6*9880d681SAndroid Build Coastguard Worker * these others for known things. *)
7*9880d681SAndroid Build Coastguard Workertype token =
8*9880d681SAndroid Build Coastguard Worker  (* commands *)
9*9880d681SAndroid Build Coastguard Worker  | Def | Extern
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Worker  (* primary *)
12*9880d681SAndroid Build Coastguard Worker  | Ident of string | Number of float
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Worker  (* unknown *)
15*9880d681SAndroid Build Coastguard Worker  | Kwd of char
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Worker  (* control *)
18*9880d681SAndroid Build Coastguard Worker  | If | Then | Else
19*9880d681SAndroid Build Coastguard Worker  | For | In
20*9880d681SAndroid Build Coastguard Worker
21*9880d681SAndroid Build Coastguard Worker  (* operators *)
22*9880d681SAndroid Build Coastguard Worker  | Binary | Unary
23*9880d681SAndroid Build Coastguard Worker
24*9880d681SAndroid Build Coastguard Worker  (* var definition *)
25*9880d681SAndroid Build Coastguard Worker  | Var
26