TokenType.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #ifndef TOKENTYPE_H
  2. #define TOKENTYPE_H
  3. #include <iostream>
  4. namespace Tokens
  5. {
  6. enum Type
  7. {
  8. FLOAT, // double
  9. TRUE, // true
  10. FALSE, // false
  11. TNULL, // null
  12. TEXT, // String
  13. LABEL, // Label
  14. VAR, // var
  15. GLOBAL, // $
  16. INC, // ++
  17. DEC, // --
  18. INVERT, // !
  19. BIT_INVERT, // ~
  20. MUL, // *
  21. DIV, // /
  22. MOD, // %
  23. ADD, // +
  24. SUB, // -
  25. LEFT_SHIFT, // <<
  26. RIGHT_SHIFT, // >>
  27. LESS, // <
  28. LESS_EQUAL, // <=
  29. GREATER, // >
  30. GREATER_EQUAL, // >=
  31. EQUAL, // ==
  32. NOT_EQUAL, // !=
  33. BIT_AND, // &
  34. BIT_XOR, // ^
  35. BIT_OR, // |
  36. AND, // &&
  37. OR, // ||
  38. SET, // =
  39. ADD_SET, // +=
  40. SUB_SET, // -=
  41. MUL_SET, // *=
  42. DIV_SET, // /=
  43. MOD_SET, // %=
  44. LEFT_SHIFT_SET, // <<=
  45. RIGHT_SHIFT_SET, // >>=
  46. BIT_AND_SET, // &=
  47. BIT_XOR_SET, // ^=
  48. BIT_OR_SET, // |=
  49. COMMA, // ,
  50. OPEN_BRACKET, // )
  51. CLOSE_BRACKET, // )
  52. OPEN_SQUARE_BRACKET, // [
  53. CLOSE_SQUARE_BRACKET, // ]
  54. OPEN_CURVED_BRACKET, // {
  55. CLOSE_CURVED_BRACKET, // }
  56. SEMICOLON, // ;
  57. IF, // if
  58. ELSE_IF, // else if
  59. ELSE, // else
  60. FOR, // for
  61. WHILE, // while
  62. FUNCTION, // function
  63. BREAK, // break
  64. CONTINUE, // continue
  65. RETURN, // return
  66. TRY, // try
  67. CATCH, // catch
  68. END_OF_FILE // end_of_file
  69. };
  70. };
  71. std::ostream& operator<<(std::ostream& os, const Tokens::Type& c);
  72. #endif