#include "TokenType.h" #include TokenTypeClass::~TokenTypeClass() { } string TokenTypeClass::getName() const { return typeName; } int TokenTypeClass::getLevel() const { return level; } bool TokenTypeClass::operator==(const TokenTypeClass& t) const { return this == &t; } bool TokenTypeClass::operator!=(const TokenTypeClass& t) const { return this != &t; } std::ostream& operator<<(std::ostream& os, const TokenType& c) { return os << c.getName(); } namespace Tokens { const TokenTypeClass FLOAT("float"); const TokenTypeClass TRUE("bool(true)"); const TokenTypeClass FALSE("bool(false)"); const TokenTypeClass TNULL("null"); const TokenTypeClass TEXT("String"); const TokenTypeClass LABEL("Label"); const TokenTypeClass VAR("var"); const TokenTypeClass GLOBAL("$"); const TokenTypeClass INC("++", 2); const TokenTypeClass DEC("--", 2); const TokenTypeClass INVERT("!", 2); const TokenTypeClass BIT_INVERT("~", 2); const TokenTypeClass MUL("*", 3); const TokenTypeClass DIV("/", 3); const TokenTypeClass MOD("%", 3); const TokenTypeClass UNARY_ADD("u+", 2); const TokenTypeClass UNARY_SUB("u-", 2); const TokenTypeClass ADD("+", 4); const TokenTypeClass SUB("-", 4); const TokenTypeClass LEFT_SHIFT("<<", 5); const TokenTypeClass RIGHT_SHIFT(">>", 5); const TokenTypeClass LESS("<", 6); const TokenTypeClass LESS_EQUAL("<=", 6); const TokenTypeClass GREATER(">", 6); const TokenTypeClass GREATER_EQUAL(">=", 6); const TokenTypeClass EQUAL("==", 7); const TokenTypeClass NOT_EQUAL("!=", 7); const TokenTypeClass BIT_AND("&", 8); const TokenTypeClass BIT_XOR("^", 9); const TokenTypeClass BIT_OR("|", 10); const TokenTypeClass AND("&&", 11); const TokenTypeClass OR("||", 12); const TokenTypeClass SET("=", 14); const TokenTypeClass ADD_SET("+=", 14); const TokenTypeClass SUB_SET("-=", 14); const TokenTypeClass MUL_SET("*=", 14); const TokenTypeClass DIV_SET("/=", 14); const TokenTypeClass MOD_SET("%=", 14); const TokenTypeClass LEFT_SHIFT_SET("<<=", 14); const TokenTypeClass RIGHT_SHIFT_SET(">>=", 14); const TokenTypeClass BIT_AND_SET("&=", 14); const TokenTypeClass BIT_XOR_SET("^=", 14); const TokenTypeClass BIT_OR_SET("|=", 14); const TokenTypeClass COMMA(",", 15); const TokenTypeClass OPEN_BRACKET("(", 50); const TokenTypeClass CLOSE_BRACKET(")", 50); const TokenTypeClass OPEN_SQUARE_BRACKET("[", 1); const TokenTypeClass CLOSE_SQUARE_BRACKET("]", 1); const TokenTypeClass OPEN_CURVED_BRACKET("{"); const TokenTypeClass CLOSE_CURVED_BRACKET("}"); const TokenTypeClass SEMICOLON(";"); const TokenTypeClass IF("if"); const TokenTypeClass ELSE_IF("else if"); const TokenTypeClass ELSE("else"); const TokenTypeClass FOR("for"); const TokenTypeClass WHILE("while"); const TokenTypeClass FUNCTION("function"); const TokenTypeClass BREAK("break"); const TokenTypeClass CONTINUE("continue"); const TokenTypeClass RETURN("return"); const TokenTypeClass TRY("try"); const TokenTypeClass CATCH("catch"); const TokenTypeClass END_OF_FILE("end_of_file"); };