Module Compiler.Tokens

type token =
  1. | Plus
    (*

    The '+' operator

    *)
  2. | Hyphen
    (*

    The '-' operator

    *)
  3. | Asterisk
    (*

    The '*' operator

    *)
  4. | Slash
    (*

    The '/' operator

    *)
  5. | Equal
    (*

    The '=' operator

    *)
  6. | Less
    (*

    The '<' operator

    *)
  7. | Greater
    (*

    The '>' operator

    *)
  8. | NotEqual
    (*

    The '<>' operator

    *)
  9. | SemiColon
    (*

    The ';' operator

    *)
  10. | AtSign
    (*

    The '@' operator

    *)
  11. | Colon
    (*

    The ':' operator

    *)
  12. | DoubleColon
    (*

    The '::' operator

    *)
  13. | LeftParen
    (*

    The '(' operator

    *)
  14. | RightParen
    (*

    The ')' operator

    *)
  15. | LeftBracket
    (*

    The '' operator

    *)
  16. | RightBracket
    (*

    The ']' operator

    *)
  17. | Arrow
    (*

    The '->' operator

    *)
  18. | VerticalBar
    (*

    The '|' operator

    *)
  19. | Dot
    (*

    The '.' operator

    *)
  20. | Comma
    (*

    The ',' operator

    *)
  21. | Function
    (*

    The `fun` keyword

    *)
  22. | Recursive
    (*

    The `rec` keyword

    *)
  23. | Let
    (*

    The `let` keyword

    *)
  24. | In
    (*

    The `in` keyword

    *)
  25. | If
    (*

    The `if` keyword

    *)
  26. | Then
    (*

    The `then` keyword

    *)
  27. | Else
    (*

    The `else` keyword

    *)
  28. | Match
    (*

    The `match` keyword

    *)
  29. | With
    (*

    The `with` keyword

    *)
  30. | Int of int
  31. | Float of float
  32. | String of string
  33. | Bool of bool
  34. | Identifier of string
  35. | EOF
  36. | Invalid
val equal_token : token -> token -> bool
val string_of_token : token -> string
val string_of_tokens : token list -> string