llvm-for-llvmta/examples/OCaml-Kaleidoscope/Chapter7/token.ml

26 lines
551 B
OCaml
Raw Permalink Normal View History

2022-04-25 10:02:23 +02:00
(*===----------------------------------------------------------------------===
* Lexer Tokens
*===----------------------------------------------------------------------===*)
(* The lexer returns these 'Kwd' if it is an unknown character, otherwise one of
* these others for known things. *)
type token =
(* commands *)
| Def | Extern
(* primary *)
| Ident of string | Number of float
(* unknown *)
| Kwd of char
(* control *)
| If | Then | Else
| For | In
(* operators *)
| Binary | Unary
(* var definition *)
| Var