Files
bits-runner-builder/Token.cpp
Rafał Grodziński 69bf54a62d Tokenizing input
2025-05-27 22:38:44 +09:00

53 lines
1.1 KiB
C++

#include "Token.h"
Token Token::Invalid = Token(Token::Kind::INVALID, "");
Token::Token(Kind kind, std::string lexme): kind(kind), lexme(lexme) {
}
Token::Kind Token::getKind() {
return kind;
}
std::string Token::getLexme() {
return lexme;
}
bool Token::operator==(Token const& other) {
return kind == other.kind;
}
bool Token::operator!=(Token const& other) {
return kind != other.kind;
}
std::string Token::toString() {
switch (kind) {
case PLUS:
return "PLUS";
case MINUS:
return "MINUS";
case STAR:
return "STAR";
case SLASH:
return "SLASH";
case PERCENT:
return "PERCENT";
case LEFT_PAREN:
return "LEFT_PARENT";
case RIGHT_PAREN:
return "RIGHT_PAREN";
case DOT:
return "DOT";
case COMMA:
return "COMMA";
case INTEGER:
return "INTEGER";
case NEW_LINE:
return "NEW_LINE";
case END:
return "END";
case INVALID:
return "INVALID";
}
}