TokenType.cpp 3.1 KB

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