#include "tokenizer/Token.h" const char* getTokenName(Token token) { switch(token) { case NUMBER: return "number"; case STRING: return "string"; case LITERAL: return "literal"; case LABEL: return "label"; case TRUE: return "true"; case FALSE: return "false"; case NULL_TOKEN: return "null"; case OPEN_BRACKET: return "("; case CLOSE_BRACKET: return ")"; case OPEN_SQUARE_BRACKET: return "["; case CLOSE_SQUARE_BRACKET: return "]"; case OPEN_CURVED_BRACKET: return "{"; case CLOSE_CURVED_BRACKET: return "}"; case SEMICOLON: return ";"; case COMMA: return ","; case INC: return "++"; case DEC: return "--"; case INVERT: return "!"; case BIT_INVERT: return "~"; case MUL: return "*"; case DIV: return "/"; case MOD: return "%"; case ADD: return "+"; case SUB: return "-"; case ADD_SET: return "+="; case SUB_SET: return "-="; case MUL_SET: return "*="; case DIV_SET: return "/="; case MOD_SET: return "%="; case LEFT_SHIFT: return "<<"; case RIGHT_SHIFT: return ">>"; case LEFT_SHIFT_SET: return "<<="; case RIGHT_SHIFT_SET: return ">>="; case BIT_AND_SET: return "&="; case BIT_XOR_SET: return "^="; case BIT_OR_SET: return "|="; case LESS: return "<"; case LESS_EQUAL: return "<="; case GREATER: return ">"; case GREATER_EQUAL: return ">="; case EQUAL: return "=="; case NOT_EQUAL: return "!="; case BIT_AND: return "&"; case BIT_XOR: return "^"; case BIT_OR: return "|"; case AND: return "&&"; case OR: return "||"; case SET: return "="; case IF: return "if"; case ELSE: return "else"; case ELSEIF: return "else if"; case WHILE: return "while"; case TRY: return "try"; case CATCH: return "catch"; case FOR: return "for"; case FUNCTION: return "function"; case BREAK: return "break"; case CONTINUE: return "continue"; case RETURN: return "return"; case EOF_TOKEN: return "end of file"; } return "Unknown TokenType"; } const char* getTokenEnumName(Token token) { switch(token) { case NUMBER: return "NUMBER"; case STRING: return "STRING"; case LITERAL: return "LITERAL"; case LABEL: return "LABEL"; case TRUE: return "TRUE"; case FALSE: return "FALSE"; case NULL_TOKEN: return "NULL_TOKEN"; case OPEN_BRACKET: return "OPEN_BRACKET"; case CLOSE_BRACKET: return "CLOSE_BRACKET"; case OPEN_SQUARE_BRACKET: return "OPEN_SQUARE_BRACKET"; case CLOSE_SQUARE_BRACKET: return "CLOSE_SQUARE_BRACKET"; case OPEN_CURVED_BRACKET: return "OPEN_CURVED_BRACKET"; case CLOSE_CURVED_BRACKET: return "CLOSE_CURVED_BRACKET"; case SEMICOLON: return "SEMICOLON"; case COMMA: return "COMMA"; case INC: return "INC"; case DEC: return "DEC"; case INVERT: return "INVERT"; case BIT_INVERT: return "BIT_INVERT"; case MUL: return "MUL"; case DIV: return "DIV"; case MOD: return "MOD"; case ADD: return "ADD"; case SUB: return "SUB"; case ADD_SET: return "ADD_SET"; case SUB_SET: return "SUB_SET"; case MUL_SET: return "MUL_SET"; case DIV_SET: return "DIV_SET"; case MOD_SET: return "MOD_SET"; case LEFT_SHIFT: return "LEFT_SHIFT"; case RIGHT_SHIFT: return "RIGHT_SHIFT"; case LEFT_SHIFT_SET: return "LEFT_SHIFT_SET"; case RIGHT_SHIFT_SET: return "RIGHT_SHIFT_SET"; case BIT_AND_SET: return "BIT_AND_SET"; case BIT_XOR_SET: return "BIT_XOR_SET"; case BIT_OR_SET: return "BIT_OR_SET"; case LESS: return "LESS"; case LESS_EQUAL: return "LESS_EQUAL"; case GREATER: return "GREATER"; case GREATER_EQUAL: return "GREATER_EQUAL"; case EQUAL: return "EQUAL"; case NOT_EQUAL: return "NOT_EQUAL"; case BIT_AND: return "BIT_AND"; case BIT_XOR: return "BIT_XOR"; case BIT_OR: return "BIT_OR"; case AND: return "AND"; case OR: return "OR"; case SET: return "SET"; case IF: return "IF"; case ELSE: return "ELSE"; case ELSEIF: return "ELSEIF"; case WHILE: return "WHILE"; case TRY: return "TRY"; case CATCH: return "CATCH"; case FOR: return "FOR"; case FUNCTION: return "FUNCTION"; case BREAK: return "BREAK"; case CONTINUE: return "CONTINUE"; case RETURN: return "RETURN"; case EOF_TOKEN: return "EOF"; } return "UNKNOWN"; }