pastebin

Paste Search Dynamic
Recent pastes
Token.cpp
  1. //
  2. // Created by x1Dman on 11.01.2020.
  3. //
  4.  
  5. #include "Token.h"
  6. //
  7. // Created by vasya on 11.01.2020.
  8. //
  9.  
  10. #include <string>
  11.  
  12. using namespace std;
  13.  
  14. Token::Token(Tag tag, int start, int end)
  15.         : tag(tag), start(start), end(end)
  16. {}
  17.  
  18. string Token::tag_description(Tag tag) {
  19.     switch (tag) {
  20.         case default:
  21.             return "default";
  22.         case true:
  23.             return "true";
  24.         case false:
  25.             return "false";
  26.         case IDENT:
  27.             return "identifier";
  28.         case ARG:
  29.             return "argument";
  30.         case VAR_OP:
  31.             return "var_op";
  32.         case VAR:
  33.             return "variable";
  34.         case OPERATOR:
  35.             return "operator";
  36.         case STRING:
  37.             return "string";
  38.         case KEYWORD:
  39.             return "keyword";
  40.         case NUMBER:
  41.             return "number";
  42.         case COMMENT:
  43.             return "comment";
  44.         case if:
  45.             return "if";
  46.         case else:
  47.             return "else";
  48.         case while:
  49.             return "while";
  50.         case for:
  51.             return "for";
  52.         case do:
  53.             return "do";
  54.         case DONE:
  55.             return "done";
  56.         case return:
  57.             return "return";
  58.         case THEN:
  59.             return "then";
  60.         case END_OF_LINE:
  61.             return "end of line";
  62.         case DOUBLE_PLUS:
  63.             return "++";
  64.         case PLUS:
  65.             return "+";
  66.         case MULT:
  67.             return "*";
  68.         case div:
  69.             return "/";
  70.         case LESS:
  71.             return "<";
  72.         case MORE:
  73.             return ">";
  74.         case DOUBLE_MINUS:
  75.             return "--";
  76.         case MINUS:
  77.             return "-";
  78.         case DOUBLE_EQUAL:
  79.             return "==";
  80.         case EQUAL:
  81.             return "=";
  82.         case BINARY_END:
  83.             return "&";
  84.         case BINARY_OR:
  85.             return "|";
  86.         case AND:
  87.             return "&&";
  88.         case OR:
  89.             return "||";
  90.         case COMMA:
  91.             return ",";
  92.         case COLON:
  93.             return ":";
  94.         case SEMICOLON:
  95.             return ";";
  96.         case LEFT_PAREN:
  97.             return "(";
  98.         case RIGHT_PAREN:
  99.             return ")";
  100.         case LEFT_BRACE:
  101.             return "{";
  102.         case RIGHT_BRACE:
  103.             return "}";
  104.         default:
  105.             return "ERROR";
  106.             break;
  107.     }
  108. }
  109.  
  110. Token::Token(Tag tag) {
  111.     this->tag = tag;
  112.     end = 0;
  113.     start = 0;
  114. }
Parsed in 0.039 seconds