Website Summary Files Commits Branches @commit @diff @stats
path: root / homework / 81352 / ts2html / token.cpp
blob: 97bdcddda0b9d066606904b0365de970ee321b52 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include "token.h"

Token::Token(std::string text, TokenType type): text(text), type(type) {}

std::string Token::getTypeName() {
    switch(this->type) {
        case KEYWORD: return "keyword";
        case IDENTIFIER: return "identifier";
        case NUMBER: return "number";
        case OPERATOR: return "operator";
        case STRING: return "string";
        case OTHER: return "other";
        case SEMICOLON: return "semicolon";
        case LEFT_BLOCK_BRACKET:
        case RIGHT_BLOCK_BRACKET:
        case LEFT_BRACKET:
        case RIGHT_BRACKET: return "bracket";
        case NEWLINE:
        case WHITESPACE: return "whitespace";
        case DECORATOR: return "decorator";
        case COMMENT: return "comment";
        case UNRECOGNIZED: return "unrecognized";
    }
    return "";
}
std::string Token::getTextValue() {
    return this->text;
}

TokenType Token::getTokenType() {
    return this->type;
}