#pragma once #include #include #include #include namespace Token { struct Token { int const lineNumber; int const lineColumn; TokenType type; bool isValid; std::variant data; Token(int const lineNumber, int const lineColumn); Token(int const lineNumber, int const lineColumn, OperandType operatorType, bool validness); Token(int const lineNumber, int const lineColumn, RegisterType registerType, bool validness); Token(int const lineNumber, int const lineColumn, int value, bool validness); Token(int const lineNumber, int const lineColumn, std::string const & value, bool validness); Token(Token const & other); void DebugPrint() const; }; }